Cómo configurar la replicación MySQL Master-Slave en Ubuntu 18.04
- 1636
- 217
- Berta Solano
Mysql La replicación maestra-esclavo es un procedimiento que permite que los archivos de base de datos se repliquen o copian en uno o más nodos en una red. Esta configuración proporciona redundancia y tolerancia a fallas de tal manera que en caso de falla en el Nodo maestro, Las bases de datos aún se pueden recuperar en el Esclavo. Esto le da a los usuarios tranquilidad de que no todos se perderán en ninguna eventualidad, ya que una réplica de las bases de datos aún se puede recuperar de un servidor diferente.
En esta guía, aprenderá a realizar un Mysql base de datos Maestro-esclavo replicación en un Ubuntu 18.04 sistema.
Requisitos previos
En la configuración, vamos a tener dos servidores en ejecución Ubuntu 18.04 con las siguientes direcciones IP.
Servidor maestro: 10.128.0.28 Servidor de esclavos: 10.128.0.29
Ahora vamos a sumergirnos y ver cómo podemos configurar el Maestro-esclavo configuración de replicación en Ubuntu.
Paso 1: Instale mysql en nodos maestros y esclavos
Ubuntu Los repositorios contienen versión 5.7 de Mysql. Para aprovechar cualquier característica nueva y evitar problemas potenciales, debe instalar la última versión de MySQL. Pero primero, actualicemos los dos nodos usando el siguiente comando APT.
$ sudo apt actualizaciónActualizar el software Ubuntu
Instalar Mysql En ambos nodos, ejecute el comando.
$ sudo apt install mysql-server mysql-clientInstale el servidor MySQL en Ubuntu
A continuación, abra el mysql archivo de configuración.
$ sudo vim/etc/mysql/mysql.confusión.d/mysqld.CNF
Sobre el Nodo maestro, Desplácese y localice el directorio
atributo como se muestra a continuación.
enlace de enlace = 127.0.0.1
Cambie la dirección de bucleza para que coincida con la dirección IP del Nodo maestro.
enlace de enlace = 10.128.0.28Establezca la dirección IP maestro MySQL
A continuación, especifique un valor para el ID de servidor
atributo en el [mysqld]
sección. El número que elija no debe coincidir con ningún otro número de ID de servidor. Asignemos el valor 1
.
servidor-id = 1Establezca la identificación del servidor MySQL en el maestro
Al final del archivo de configuración, copie y pegue las líneas a continuación.
log_bin =/var/log/mysql/mysql-bin.log log_bin_index =/var/log/mysql/mysql-bin.registro.índice relay_log =/var/log/mysql/mysql-relay-bin relay_log_index =/var/log/mysql/mysql-relay-bin.índice
Salga del archivo de configuración y reinicie el servicio MySQL para que los cambios entren en vigencia en el nodo maestro.
$ sudo systemctl reiniciar mysql
Para verificar que el servidor MySQL se esté ejecutando como se esperaba, emita el comando.
$ sudo systemctl status mysqlReiniciar y verificar el estado de MySQL
Perfecto! El servidor MySQL se está ejecutando como se esperaba!
Paso 2: Cree un nuevo usuario para la replicación en el nodo maestro
En esta sección, vamos a crear un usuario de replicación en el nodo maestro. Para lograr esto, inicie sesión en el servidor MySQL como se muestra.
$ sudo mysql -u root -p
A continuación, continúe y ejecute las consultas a continuación para crear un usuario de réplica y otorgar acceso al esclavo de replicación. Recuerde usar su dirección IP.
mysql> Crear usuario 'replication_user'@'10.128.0.29'Identificado por' réplica_password '; mysql> Grante esclavo de replicación en *.* A 'replication_user'@'10.128.0.29';Crear usuario de replicación mySQL
A continuación, ejecute el siguiente comando.
mysql> Mostrar estado maestro \ g
La salida debe ser similar a lo que puede ver a continuación.
Consulte el estado maestro de MySQLEstar interesado y anotar el mysql-bin.000002
valor y la identificación de posición 1643
. Estos valores serán cruciales al configurar el servidor de esclavos.
Paso 3: Configure el servidor de esclavos MySQL
Salir al servidor de esclavos y como lo hicimos con el Servidor maestro, Abra el archivo de configuración de MySQL.
$ sudo vim/etc/mysql/mysql.confusión.d/mysqld.CNF
Al igual que el servidor maestro, Proceda a editar las siguientes líneas.
enlace de enlace = 10.128.0.29Atar la dirección IP de MySQL en esclavo
Como antes, especifique un valor para el ID de servidor
atributo en el [mysqld]
sección. Este tiempo seleccione un valor diferente. Vamos con 2
.
servidor-id = 2Establezca la identificación del servidor MySQL en esclavo
Nuevamente, pegue las líneas a continuación al final del archivo de configuración.
log_bin =/var/log/mysql/mysql-bin.log log_bin_index =/var/log/mysql/mysql-bin.registro.índice relay_log =/var/log/mysql/mysql-relay-bin relay_log_index =/var/log/mysql/mysql-relay-bin.índice
Siguiente reiniciar el servidor MySQL en el nodo esclavo.
$ sudo systemctl reiniciar mysql
Una vez hecho, guarde y salga del editor de texto
A continuación, inicie sesión en el shell mysql como se muestra.
$ sudo mysql -u root -p
En este paso, deberá hacer una configuración que permita el servidor de esclavos para conectarse al servidor maestro. Pero primero, detén los hilos de esclavos como se muestra.
mysql> Detener esclavo;
Para permitir el servidor de esclavos Para replicar el Servidor maestro, Ejecutar el comando.
mysql> Cambiar maestro a maestro_host = '10.128.0.28 ', maestro_user =' replication_user ', maestro_password =' [Correo electrónico protegido] ', maestro_log_file =' mysql-bin.000002 ', maestro_log_pos = 1643;Permitir la replicación de MySQL en Slave Server
Si está lo suficientemente interesado, observará que hemos usado el mysql-bin.00002
ID de valor y posición 1643
Se muestra antes después de crear el usuario de replicación de esclavos.
Además, se han utilizado la dirección IP del servidor maestro, el usuario de replicación y la contraseña.
Más tarde, comience el hilo que había detenido anteriormente.
mysql> Comienza esclava;
Paso 4: Verifique la replicación MySQL Master-Slave
Para verificar si la configuración está funcionando como se esperaba, vamos a crear una nueva base de datos en el maestro y verificar para ver si se ha replicado en el servidor de esclavos MySQL.
Inicie sesión en MySQL en el Servidor maestro.
$ sudo mysql -u root -p
Creemos una base de datos de prueba. En este caso, crearemos una base de datos llamada replication_db.
mysql> Crear una base de datos replication_db;
Ahora, inicie sesión en su instancia de MySQL en el servidor de esclavos.
$ sudo mysql -u root -p
Ahora enumere las bases de datos utilizando la consulta.
mysql> Mostrar bases de datos;Verificar la replicación MySQL Master-Slave
Notará la base de datos que creó en el maestro ha sido replicado en esclavo. Impresionante ! Su replicación MySQL Master-Slave funciona como se esperaba! Ahora puede estar seguro de que en caso de falla, las copias de los archivos de la base de datos se replicarán al servidor de esclavos.
Conclusión
En esta guía, aprendiste a configurar un Mysql maestro-esclavo configuración de replicación en Ubuntu 18.04.