¿Conoces alguna 'forma Debian' de configurar múltiples instancias MySQL en un solo servidor? El servidor recibiría datos replicados de múltiples bases de datos remotas.
Podría usar scripts como mysqlsandbox pero prefiero seguir con los paquetes de Debian y me gustaría poder actualizar la configuración sin muchas complicaciones en el futuro. Otra solución es mysqlmanager : funciona con MySQL 5.1 pero está en desuso y ya no se publica con 5.5.
Entonces, ¿cuál es la 'mejor práctica' para ejecutar múltiples instancias MySQL en un solo servidor Debian?
Respuestas:
Creo que es tan simple como ejecutar
mysqld_multi
y configurar su my.cnf correctamente.mysqld_multi
es parte de la distribución de mysql, no un paquete de volantes.Hay un parche para hacer
/usr/share/mysql/mysqld_multi.server
apropiada para su uso en/etc/init.d
y otro parche para hacermysqld_multi
archivos de uso en/etc/mysql/conf.d
.Puede inicializar directorios de datos MySQL para nuevas instancias con el
mysql_install_db
comando como este:No olvide cambiar la contraseña de root de la instancia recién creada:
fuente
En Debian 8, puede usar el mecanismo Systemd: no necesita más
mysqld_multi
.NOTA: Yo uso la versión MariaDB! No estoy seguro si funciona con el paquete MySQL 'clásico'.
De
/lib/systemd/system/[email protected]
:Por lo tanto, cree un archivo
/etc/mysql/conf.d/myserver2.cnf
y especifique en él nuevos archivos pid / socket / datadir y puerto de red:EDITAR: tenga cuidado de que la primera instancia de MySQL no lea este archivo de configuración,
!includedir /etc/mysql/conf.d/*
en la parte inferior de/etc/mysql/my.cnf
. Si es el caso, reemplace el archivo!includedir
con uno!include
de cada archivo de configuración que NO sea myserver2.cnf:El documento oficial de MySQL indica que debe nombrar
[mysqld]
como[mysqld@server2]
( https://dev.mysql.com/doc/refman/5.7/en/using-systemd.html#systemd-multiple-mysql-instances ) pero esto no funciona con MariaDB . Así que solo déjalo[mysqld]
.Antes de comenzar el nuevo demonio, no olvides crear el datadir y los archivos necesarios:
Vuelva a cargar también la configuración del demonio systemd:
Y si quieres iniciar este demonio en el arranque:
Para comenzarlo:
fuente
/etc/my.cnf
, es por eso.!includedir /etc/mysql/conf.d/*
. Para una mejor seguridad, incluí cadaconf.d
archivo manualmente