Replicación MySql con phpMyAdmin (Maestro-Esclavo)
Tabla de contenido:
- Prerrequisitos
- Instalando MariaDB
- Configurar el servidor maestro
- Configurar el servidor esclavo
- Probar la configuración
- Conclusión
La replicación de MySQL es un proceso de copia de datos de un servidor de base de datos (maestro) a uno o más servidores (esclavos).
MySQL admite varias 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 esta guía, le mostraremos cómo configurar la replicación maestra / esclava MariaDB con un servidor maestro y un servidor esclavo en Debian 10. MariaDB es la implementación predeterminada de MySQL en Debian. Los mismos pasos se aplican para Oracle MySQL.
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
Suponemos que tiene dos servidores que ejecutan Debian 10, que se comunican entre sí a través de una red privada. Si su proveedor de alojamiento no admite 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 utilizados en este ejemplo tienen las siguientes direcciones IP:
Master IP: 10.10.8.12 Slave IP: 10.10.8.164
Instalando MariaDB
El repositorio predeterminado de Debian 10 incluye MariaDB versión 10.3. Es mejor instalar la misma versión de MariaDB en ambos servidores para evitar posibles problemas.
Instala MariaDB en el maestro y el esclavo emitiendo los siguientes comandos:
sudo apt-get update
sudo apt-get install mariadb-server
Configurar el servidor maestro
El primer paso es configurar el servidor maestro. Haremos los siguientes cambios:
- Configure el servidor MariaDB para escuchar en la IP privada. Establezca una ID de servidor única. Habilite el registro binario.
Abra el archivo de configuración MariaDB y descomente o configure las siguientes líneas:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
master: /etc/mysql/mariadb.conf.d/50-server.cnf
bind-address = 10.10.8.12 server-id = 1 log_bin = /var/log/mysql/mysql-bin.log
Una vez hecho esto, guarde el archivo y reinicie el servicio MySQL para que los cambios surtan efecto:
sudo systemctl restart mariadb
El siguiente paso es crear un nuevo usuario de replicación. Inicie sesión en el servidor MariaDB como usuario root:
sudo mysql
Ejecute las siguientes consultas SQL para crear un usuario llamado
replica
y otorgue el privilegio
REPLICATION SLAVE
al usuario:
CREATE USER 'replica'@'10.10.8.164' IDENTIFIED BY 'replica_password';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'10.10.8.164';
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: 328 Binlog_Do_DB: Binlog_Ignore_DB: 1 row in set (0.001 sec)
Tome nota del nombre del archivo, 'mysql-bin.000001' y la posición '328'. Estos valores son necesarios al configurar el servidor esclavo y probablemente serán diferentes en su servidor.
Configurar el servidor esclavo
Haremos los mismos cambios en el servidor esclavo que los del maestro:
- Configure el servidor MySQL para escuchar en la IP privada. Establezca una ID de servidor única. Habilite el registro binario.
Abra el archivo de configuración MariaDB y edite las siguientes líneas:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
esclavo: /etc/mysql/mariadb.conf.d/50-server.cnf
bind-address = 10.10.8.164 server-id = 2 log_bin = /var/log/mysql/mysql-bin.log
Reinicie el servicio MariaDB:
sudo systemctl restart mariadb
El siguiente paso es configurar los parámetros que el servidor esclavo usará para conectarse al servidor maestro. Inicie sesión en el shell MariaDB:
sudo mysql
Comience por detener los hilos esclavos:
STOP SLAVE;
Ejecute la siguiente consulta para configurar la replicación maestro / esclavo:
CHANGE MASTER TO
MASTER_HOST='10.10.8.12',
MASTER_USER='replica',
MASTER_PASSWORD='replica_password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=328;
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 esté configurado correctamente, cree una nueva base de datos en el servidor maestro:
sudo mysql
CREATE DATABASE replicatest;
Inicie sesión en el shell esclavo MySQL:
sudo mysql
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 MariaDB Master / Slave en Debian 10.
Siéntase libre de dejar un comentario si tiene alguna pregunta.
debian 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 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. En este tutorial explicaremos cómo configurar una replicación maestra / esclava MySQL con un servidor maestro y otro esclavo en CentOS 7.