Búsqueda de sitios web

Cómo configurar la replicación maestro-esclavo de MySQL en RHEL 8


La Replicación MySQL es un proceso en el que los datos de un servidor se copian o replican automáticamente en otro servidor de respaldo en tiempo real. La replicación proporciona redundancia y tolerancia a fallas y brinda al usuario la tranquilidad de saber que incluso después de una falla en el servidor maestro, los datos aún se pueden recuperar.

En este tutorial, aprenderá cómo configurar una replicación maestro-esclavo de MySQL en un RHEL 8 Linux.

Requisitos previos

En la configuración, tendremos dos servidores ejecutando RHEL 8 con las siguientes direcciones IP.

Master = 173.82.120.14
Slave  = 173.82.115.165

Procedamos ahora y veamos cómo podemos configurar la configuración de replicación maestro-esclavo de MySQL en RHEL 8 Linux.

Paso 1: Instale MySQL en el servidor maestro y esclavo

1. La última versión de MySQL 8.x ya está incluida en el repositorio predeterminado de RHEL 8 y puede instalarla usando lo siguiente comando mmm.

yum -y install @mysql

Paso 2: Proteger MySQL en el servidor maestro y esclavo

Después de la instalación, ahora deberías iniciar el servicio MySQL que acabas de instalar y hacer que se inicie automáticamente cada vez que inicies el servidor. Por lo tanto, utilice el siguiente comando.

systemctl enable mysqld
systemctl start mysqld

A continuación, debe proteger su instalación de MySQL ejecutando el script de seguridad que viene con varias operaciones basadas en seguridad, como configurar la contraseña de root, eliminar usuarios anónimos, no permitir el inicio de sesión de root de forma remota, eliminar la base de datos de prueba y recargar privilegios.

mysql_secure_installation

Continúe con el resto del mensaje y responda a todas las preguntas, así que configure el servidor con las mejores prácticas de seguridad.

Paso 3: Configurar el servidor maestro MySQL

Para comenzar con la configuración del servidor Master, continúe y abra el archivo de configuración de MySQL escribiendo el siguiente comando.

sudo vim /etc/my.cnf

En la sección mysqld, agregue las líneas como se muestra a continuación.

bind-address =173.82.120.14
server-id = 1
log_bin =mysql-bin

Finalmente, reinicie el servicio MySQL.

sudo systemctl restart mysqld

Ahora vamos a crear un usuario de replicación. Por lo tanto, inicie sesión en su servidor maestro MySQL como usuario root y proporcione la contraseña.

sudo mysql -u root -p

Ahora ejecute los siguientes comandos para crear el usuario de réplica y al mismo tiempo otorgar acceso esclavo al usuario. Recuerde utilizar la dirección IP de su máquina.

mysql> CREATE USER 'replica'@'173.82.115.165' IDENTIFIED BY 'strong_password';
mysql> GRANT REPLICATION SLAVE ON *.*TO 'replica'@'173.82.115.165';

Ahora, escribirá el siguiente comando que imprimirá el nombre y la posición del archivo binario.

mysql> SHOW MASTER STATUS\G

Recuerde tomar nota del nombre del archivo resultante msql-bin.000002 y su posición 939.

Paso 4: Configurar el servidor esclavo MySQL

Al igual que el proceso de configuración del maestro, debe realizar los siguientes cambios en el archivo de configuración del esclavo mysql.

sudo vim  /etc/my.cnf

Agregue las siguientes líneas en el archivo de configuración en la sección mysqld.

bind-address =173.82.115.165
server-id = 2
log_bin =mysql-bin

Reinicie el servidor.

sudo systemctl restart mysqld

Ahora el siguiente paso es configurar el servidor esclavo para replicar desde el servidor maestro. Inicie sesión en el servidor MySQL.

sudo mysql -u root -p

Primero, detenga los subprocesos de replicación.

mysql> STOP SLAVE;

Ahora, ejecute la siguiente consulta que configurará el esclavo para replicar desde el servidor maestro.

mysql> CHANGE MASTER TO
    -> MASTER_HOST='173.82.120.14' ,
    -> MASTER_USER='replica' ,
    -> MASTER_PASSWORD='Jupiter@2030' ,
    -> MASTER_LOG_FILE='mysql-bin.000002' ,
    -> MASTER_LOG_POS=939;

Asegúrese de estar utilizando el nombre de usuario y la contraseña de IP correctos. Además, utilice el nombre de archivo y la posición que obtuvo del servidor maestro.

Finalmente, escriba el siguiente comando para iniciar los subprocesos esclavos.

mysql> START SLAVE;

Paso 5: Probar la replicación maestro-esclavo de MySQL

En este punto, ha completado la configuración de los servidores maestro y esclavo. Ahora necesitamos verificar si la configuración está funcionando y si se puede realizar la replicación.

Para hacer esto, dirígete al servidor master e inicia sesión en el servidor de la base de datos MySQL.

sudo mysql -u root -p

Cree una base de datos de muestra.

mysql> CREATE DATABASE replication_database;

Ahora dirígete al servidor Esclavo y nuevamente, inicia sesión en el servidor de la base de datos MySQL.

sudo mysql -u root -p

Ahora enumere todas las bases de datos usando el siguiente comando.

mysql> SHOW DATABASES;

Si ve la base de datos creada, entonces la configuración de Replicación maestro-esclavo MySQL funciona.

Conclusión

La replicación es un proceso bastante simple que se puede realizar fácilmente. En esta guía, ha aprendido cómo crear una replicación de un maestro MySQL a un esclavo en un RHEL 8 Linux.