Cómo configurar la replicación de MySQL en Rhel, Rocky y Almalinux

Cómo configurar la replicación de MySQL en Rhel, Rocky y Almalinux

La replicación de datos es el proceso de copiar sus datos en múltiples servidores para mejorar la disponibilidad de datos y mejorar la confiabilidad y el rendimiento de una aplicación. En Mysql Replicación, los datos se copian de una base de datos del servidor maestro a otros nodos en tiempo real para garantizar la consistencia de los datos y también para proporcionar copia de seguridad y redundancia.

En esta guía, demostramos cómo puede configurar Mysql (Maestro-esclavo) replicación en distribuciones basadas en Rhel como Cento, Fedora, Rocky Linux, y Almalinux.

Configuración de replicación de MySQL

Entonces, aquí está nuestro Mysql Configuración del laboratorio de replicación.

Master MySQL - 10.128.0.14 esclavo mysql - 10.128.15.211 

Empecemos…

Paso 1: Instale mysql en el servidor maestro y esclavo

Comenzaremos instalando el Mysql base de datos en ambos maestro y esclavo servidor.

$ sudo dnf install @mysql 
Instale MySQL en Rocky Linux

Una vez que se complete la instalación, haga un punto para iniciar el servidor de la base de datos.

$ sudo systemctl iniciar mysqld 

Luego habilite que comience al inicio del sistema o al reiniciar.

$ sudo systemctl habilita mysqld 

A partir de entonces, confirme que el Mysql El servidor de la base de datos se ejecuta como se muestra:

$ sudo systemctl status mysqld 
Revise el estado de ejecución de MySQL

Paso 2: Asegure MySQL en Master y Slave Server

El siguiente paso es asegurar el Mysql base de datos en ambos maestro y esclavo servidor. Esto se debe a que la configuración predeterminada es insegura y presentan algunas lagunas que pueden ser explotadas fácilmente por los hackers.

Entonces, para endurecer mysql, ejecute el comando:

$ sudo mysql_secure_installation 

Primero, se le pedirá que establezca el Mysql contraseña de raíz. Asegúrese de proporcionar una contraseña de root fuerte, preferiblemente con más de 8 caracteres que son una combinación de caracteres en mayúsculas, minúsculas, especiales y numéricas.

Asegurar mysql en Rocky Linux

Para las indicaciones restantes, escriba 'Y' Para ajustar el servidor de la base de datos a la configuración recomendada.

Confirmar la configuración de MySQL

Una vez que haya terminado de instalar y endurecer Mysql En el nodo maestro y esclavo, el siguiente es configurar el nodo maestro.

Paso 3: Configure el nodo maestro (servidor)

El siguiente paso es configurar el Maestro nodo y otorga el esclavo Acceso de nodo a él. Primero, necesitamos editar el servidor mysql.CNF archivo de configuración.

$ sudo vim /etc /my.CNF.d/mysql-server.CNF 

Agregue las siguientes líneas debajo del [mysqld] sección.

enlace de enlace = 10.128.0.14 servidor-id = 1 log_bin = mysql-bin 

Una vez hecho esto, guarde los cambios y salga. Luego reinicie el Mysql servidor.

$ sudo sysemctl reiniciar mysqld 

A continuación, inicie sesión Mysql caparazón.

$ sudo mysql -u root -p 

Ejecute los siguientes comandos para crear un usuario de la base de datos que se usará para vincular el maestro y el esclavo para la replicación.

mysql> crear el usuario 'réplica'@'10.128.15.211 'identificado por' [correo electrónico protegido] '; MySQL> Said Replication Slave en *.*A 'réplica'@'10.128.15.211 '; 
Crear usuario de replicación de bases de datos

Aplicar los cambios y salir del Mysql servidor.

MySQL> privilegios de descarga; mysql> salir; 

Verificar el estado del maestro.

mysql> mostrar estado maestro \ g 
Verificar el estado de MySQL

Tome nota del nombre de archivo y la posición. Necesitará esto más adelante al configurar el esclavo para la replicación. En nuestro caso, tenemos el nombre de archivo como mysql-bin.000001 y posición 1232.

Paso 4: Configure el nodo esclavo (servidor)

Ahora, regresa al nodo esclavo. Una vez más, edite el servidor mysql.CNF archivo de configuración.

$ sudo vim /etc /my.CNF.d/mysql-server.CNF 

Como antes, pegue estas líneas debajo del [mysqld] sección. Cambie la dirección IP para corresponder a la IP del esclavo. Además, asigne un ID de servidor. Aquí lo hemos asignado el valor de 2.

enlace de enlace = 10.128.15.211 server-id = 2 log_bin = mysql-bin 

Guarde los cambios y salga del archivo. Luego reinicie el servidor de la base de datos.

$ sudo systemctl reiniciar mysqld 

Para configurar el Esclavo Nodo Para replicar desde el nodo maestro, inicie sesión en el servidor MySQL del esclavo del esclavo.

$ sudo mysql -u root -p 

En primer lugar, detenga los hilos de replicación:

mysql> stop slave; 
Stop Mysql Slave

Luego ejecute el siguiente comando para configurar el nodo esclavo para replicar las bases de datos desde el maestro.

mysql> cambiar maestro a master_host = "10.128.0.14 ", maestro_user =" réplica ", maestro_password = '[correo electrónico protegido]', maestro_log_file =" mysql-bin.000001 ", maestro_log_pos = 1232; 

Tenga en cuenta que el Maestro_log_file y Maestro_log_pos Las banderas corresponden al archivo y Posición valores del Maestro nodo al final del paso 1.

El Maestro_host, Maestro_user, y CONTRASEÑA MAESTRA corresponder a la dirección IP maestra, el usuario de replicación y la contraseña del usuario de la replicación respectivamente.

Configurar la replicación de esclavos MySQL

Luego inicie los hilos de replicación de esclavos:

mysql> inicio esclavo; 
Iniciar esclavo mysql

Paso 4: Prueba de replicación MySQL Master-Slave

Ahora, para probar si la replicación entre el nodo maestro y esclavo está funcionando, inicie sesión en el servidor de la base de datos MySQL en el nodo maestro:

$ sudo mysql -u root -p 

Crear una base de datos de prueba. Aquí, nuestra base de datos de prueba se llama replication_db.

mySQL> Crear base de datos replication_db;
Verificar la existencia de la base de datos.
MySQL> Mostrar bases de datos; 
Crear base de datos en MySQL Master

Ahora, diríjase al nodo esclavo, inicie sesión en el servidor mysql y confirme que el replication_db la base de datos está presente. De la salida a continuación, podemos ver que la base de datos está presente. Esta es la confirmación de que la replicación ha tenido lugar desde el maestro hasta el nodo esclavo.

MySQL> Mostrar bases de datos; 
Consulte la replicación MySQL Master-Slave

Y eso es todo, hemos demostrado con éxito cómo puede configurar un Mysql Modelo de replicación maestro-esclavo que puede replicar bases de datos desde el nodo maestro al nodo esclavo.