#MySQL DBA Training Replication-Master Slave Configuration in MySQL 5.6 on RHEL7
Tabla de contenido:
- Prerrequisitos
- Instalar MySQL
- Configurar el servidor maestro
- Configurar el servidor esclavo
- Probar la configuración
- Conclusión
La replicación de MySQL es un proceso que le permite copiar automáticamente datos de un servidor de base de datos a uno o más servidores.
MySQL admite una serie de topologías de replicación, siendo la topología maestro / esclavo una de las topologías más conocidas en la que un servidor de base de datos actúa como maestro, mientras que uno o más servidores actúan como esclavos. Por defecto, la replicación es asíncrona donde el maestro envía eventos que describen modificaciones de la base de datos a su registro binario y los esclavos solicitan los eventos cuando están listos.
En este tutorial, explicaremos cómo configurar una replicación Maestro / Esclavo MySQL con un servidor maestro y uno esclavo en CentOS 7. Los mismos pasos se aplican para MariaDB.
Este tipo de topología de replicación es más adecuado para la implementación de réplicas de lectura para escalado de lectura, copia de seguridad de bases de datos en vivo para recuperación ante desastres y para trabajos de análisis.
Prerrequisitos
En este ejemplo, suponemos que tiene dos servidores que ejecutan CentOS 7, que pueden comunicarse entre sí a través de una red privada. Si su proveedor de alojamiento no proporciona direcciones IP privadas, puede usar las direcciones IP públicas y configurar su firewall para permitir el tráfico en el puerto 3306 solo de fuentes confiables.
Los servidores en este ejemplo tienen las siguientes IP:
Master IP: 192.168.121.59 Slave IP: 192.168.121.14
Instalar MySQL
Los repositorios predeterminados de CentOS 7 no incluyen paquetes MySQL, por lo que instalaremos MySQL desde su repositorio oficial de Yum. Para evitar cualquier problema, instalaremos la misma versión 5.7 de MySQL en ambos servidores.
Instale MySQL en los servidores Master y Slave:
sudo yum localinstall
sudo yum install mysql-community-server
Una vez completada la instalación, inicie el servicio MySQL y permita que se inicie automáticamente en el arranque con:
sudo systemctl enable mysqld
sudo systemctl start mysqld
Cuando el servidor MySQL se inicia por primera vez, se genera una contraseña temporal para el usuario root de MySQL. Para encontrar la contraseña, use el siguiente comando grep:
sudo grep 'temporary password' /var/log/mysqld.log
Ejecute el comando
mysql_secure_installation
para establecer su nueva contraseña de root y mejorar la seguridad de la instancia de MySQL:
mysql_secure_installation
Ingrese la contraseña raíz temporal y responda
Y
(sí) a todas las preguntas.
Configurar el servidor maestro
Primero, configuraremos el servidor MySQL maestro y realizaremos los siguientes cambios:
- Configure el servidor MySQL para escuchar en la IP privada. Establezca una ID de servidor única. Habilite el registro binario.
Para hacerlo, abra el archivo de configuración de MySQL y agregue las siguientes líneas en el
sección:
sudo nano /etc/my.cnf
maestro: /etc/my.cnf
bind-address = 192.168.121.59 server-id = 1 log_bin = mysql-bin
Una vez hecho esto, reinicie el servicio MySQL para que los cambios surtan efecto.
sudo systemctl restart mysqld
El siguiente paso es crear un nuevo usuario de replicación. Inicie sesión en el servidor MySQL como usuario root:
mysql -uroot -p
Desde el indicador de MySQL, ejecute las siguientes consultas SQL que crearán la
replica
usuario y otorgarán el privilegio
REPLICATION SLAVE
al usuario:
CREATE USER 'replica'@'192.168.121.14' IDENTIFIED BY 'strong_password';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'192.168.121.14';
Asegúrese de cambiar la IP con su dirección IP esclava. Puede nombrar al usuario como lo desee.
Mientras aún está dentro del indicador de MySQL, ejecute el siguiente comando que imprimirá el nombre de archivo y la posición binarios.
SHOW MASTER STATUS\G
*************************** 1. row *************************** File: mysql-bin.000001 Position: 1427 Binlog_Do_DB: Binlog_Ignore_DB: Executed_Gtid_Set: 1 row in set (0.00 sec)
Tome nota del nombre del archivo, 'mysql-bin.000001' y la posición '1427'. Necesitará estos valores cuando configure el servidor esclavo. Estos valores probablemente serán diferentes en su servidor.
Configurar el servidor esclavo
Al igual que para el servidor maestro anterior, realizaremos los siguientes cambios en el servidor esclavo:
- Configure el servidor MySQL para escuchar en el IPSet privado un ID de servidor único Habilite el registro binario
Abra el archivo de configuración de MySQL y edite las siguientes líneas:
sudo nano /etc/my.cnf
esclavo: /etc/my.cnf
bind-address = 192.168.121.14 server-id = 2 log_bin = mysql-bin
Reinicie el servicio MySQL:
sudo systemctl restart mysqld
El siguiente paso es configurar los parámetros que el servidor esclavo usará para conectarse al servidor maestro. Inicie sesión en el shell de MySQL:
mysql -uroot -p
Primero, detenga los hilos esclavos:
STOP SLAVE;
Ejecute la siguiente consulta que configurará el esclavo para replicar el maestro:
CHANGE MASTER TO
MASTER_HOST='192.168.121.59',
MASTER_USER='replica',
MASTER_PASSWORD='strong_password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=1427;
Asegúrese de estar utilizando la dirección IP, el nombre de usuario y la contraseña correctos. El nombre y la posición del archivo de registro deben ser los mismos que los valores que obtuvo del servidor maestro.
Una vez hecho esto, inicie los hilos esclavos.
Probar la configuración
En este punto, debe tener una configuración de replicación Maestro / Esclavo en funcionamiento.
Para verificar que todo funcione como se esperaba, crearemos una nueva base de datos en el servidor maestro:
mysql -uroot -p
CREATE DATABASE replicatest;
Inicie sesión en el shell esclavo MySQL:
mysql -uroot -p
Ejecute el siguiente comando para enumerar todas las bases de datos:
SHOW DATABASES;
Notará que la base de datos que creó en el servidor maestro se replica en el esclavo:
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | replicatest | | sys | +--------------------+ 5 rows in set (0.00 sec)
Conclusión
En este tutorial, le hemos mostrado que crea una replicación Master / Slave de MySQL en CentOS 7.
Siéntase libre de dejar un comentario si tiene alguna pregunta.
centos mysql mariadbCómo configurar, configurar y usar el Control parental en Windows 7
Aprenda a habilitar, deshabilitar, configurar y usar la función de control parental en Windows 7 para monitorear y controlar las actividades de Internet de los niños.
Cómo configurar y configurar los Firewall Firewall
Aprenda a configurar el firewall del router, acceder a la página del enrutador de hardware, configurar los parámetros del Router Firewall. Averigüe qué puertos son necesarios en la computadora.
Cómo configurar mysql master
La replicación MySQL es un proceso que permite que los datos de un servidor de base de datos se copien automáticamente en uno o más servidores. Este tutorial cubre un ejemplo básico de replicación maestro / esclavo MySQL con un servidor maestro y un servidor esclavo en Ubuntu 18.04.