Diferencia entre revisiones de «Instancias en MySQL»

De nuxpy
Ir a la navegación Ir a la búsqueda
Línea 111: Línea 111:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 +
= Visualizar instancias =
 +
Se puede visualizar el estatus de las instancias con '''netstat''', por ejemplo:
 +
<syntaxhighlight lang="bash">
 +
netstat -pvatun | grep 3308
 +
</syntaxhighlight>
 
= Temas relacionados =
 
= Temas relacionados =
 
* [[Gestionar usuarios en MySQL]]
 
* [[Gestionar usuarios en MySQL]]
 
* [[Conexión phpMyAdmin a una instancia MySQL determinada]]
 
* [[Conexión phpMyAdmin a una instancia MySQL determinada]]
 
[[Categoría:MySQL]]
 
[[Categoría:MySQL]]

Revisión del 09:00 11 oct 2021

En el siguiente artículo se describe un ejemplo de cómo crear una instancia MySQL con sus respectivos parámetros de configuración.

Fichero *.cnf

En ambientes Linux Debian existe un árbol de ficheros de configuración donde se pueden editar los parámetros principales de la instancia, dentro del directorio: /etc/mysql/conf.d/; se puede crear un fichero con extensión .cnf para todas las instancias o un fichero por cada instancia.

Si se desea un fichero para todas las instancias sería un fichero parecido al siguiente:

# Instancia 1
[mysqld1]
user = mysql
pid-file = /var/run/mysqld/my1.pid
socket = /var/run/mysqld/my1.sock
port = 3308
datadir = /var/lib/my1
tmpdir = /tmp
log-error = /var/log/mysql/my1.log

# Instancia 2
[mysqld2]
user = mysql
pid-file = /var/run/mysqld/my2.pid
socket = /var/run/mysqld/my2.sock
port = 3309
datadir = /var/lib/my2
tmpdir = /tmp
log-error = /var/log/mysql/my2.log

Si se desea un fichero por cada instancia sería el nombre del fichero dentro de la ruta especificada (/etc/mysql/conf.d/) y con su respectivo nombre y contenido. Por ejemplo para instancia 1 sería fichero my1.cnf:

# Instancia 1
[mysqld1]
user = mysql
pid-file = /var/run/mysqld/my1.pid
socket = /var/run/mysqld/my1.sock
port = 3308
datadir = /var/lib/my1
tmpdir = /tmp
log-error = /var/log/mysql/my1.log

La segunda instancia con un fichero parecido por ejemplo my2.cnf y su respectivo contenido:

# Instancia 2
[mysqld2]
user = mysql
pid-file = /var/run/mysqld/my2.pid
socket = /var/run/mysqld/my2.sock
port = 3309
datadir = /var/lib/my2
tmpdir = /tmp
log-error = /var/log/mysql/my2.log

Inicializar instancia

Antes de dar inicio al proceso y servicio de la instancia, se debe instalar o inicializar la estructura de la siguiente manera:

mysql_install_db --user=mysql --ldata=/var/lib/directorio_instancia

El argumento --ldata es el parámetro establecido en el fichero de configuración de las instancias que aparece como: datadir

Gestionar instancias

La gestión de instancias consiste en iniciar, reiniciar, detener el servicio o proceso de las instancias.

Para iniciar una instancia determinada se pasa como argumento la instancia en cuestión, si es la instancia número uno (1) sería con el comando:

mysqld_multi start 1

Si se desea un rango específico sería:

mysqld_multi start 1-5

Si se desean ciertas instancias sería:

mysqld_multi start 1,3,6

Para detener las instancias se usa el mismo patrón que para iniciar instancias pero con la instrucción stop, ejemplo:

mysqld_multi stop 1

Y así también las combinaciones para rango o determinadas instancias que se usan para iniciar.

Conexión a una instancia

Si se desea realizar una conexión a una instancia específica, se realiza de la siguiente manera:

mysql --port=3308 --socket=/var/run/mysqld/instancia1.sock

Igualmente si existe un usuario determinado, por ejemplo:

mysql -u myusuariodb --port=3308 --socket=/var/run/mysqld/instancia1.sock

Visualizar instancias

Se puede visualizar el estatus de las instancias con netstat, por ejemplo:

netstat -pvatun | grep 3308

Temas relacionados