Saltar al contenido
solo software libre

Cómo Configurar la Replicación Maestro-Esclavo de MySQL en Ubuntu 18.04: Guía Paso a Paso

Configura la replicación maestro-esclavo de MySQL en Ubuntu 18.04 con esta guía paso a paso. Aprende cómo garantizar alta disponibilidad y escalabilidad en tu sistema MySQL.

Cómo configurar la replicación maestro-esclavo de MySQL en Ubuntu 18.04

Configuración Completa de Replicación MySQL en Ubuntu 18.04 para Bases de Datos Escalables

La replicación maestro-esclavo en MySQL es una solución muy utilizada para asegurar la alta disponibilidad y escalabilidad de las bases de datos. En esta configuración, un servidor actúa como maestro, mientras que uno o más servidores esclavos replican automáticamente los cambios. En este artículo, te explicaremos cómo configurar la replicación maestro-esclavo de MySQL en Ubuntu 18.04 de manera sencilla y rápida.

Requisitos Previos

Antes de comenzar, asegúrate de cumplir con los siguientes requisitos:

  • Dos servidores Ubuntu 18.04 (uno actuará como maestro y otro como esclavo).
  • MySQL instalado en ambos servidores.
  • Acceso root o privilegios de sudo.

Paso 1: Configurar el Servidor Maestro

Primero, configuramos el servidor maestro para habilitar la replicación. Abre el archivo de configuración de MySQL en el maestro:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Dentro del archivo, asegúrate de que las siguientes líneas estén presentes y configuradas:

bind-address = 0.0.0.0
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
  • bind-address permite que MySQL escuche en todas las interfaces de red.
  • server-id debe ser único en la red, por lo que asignamos el valor 1 para el maestro.
  • log_bin habilita el registro de binarios, necesario para la replicación.

Reinicia MySQL en el servidor maestro:

sudo systemctl restart mysql

Paso 2: Crear un Usuario para la Replicación

Ahora, necesitamos crear un usuario en el servidor maestro que se encargue de la replicación. Abre el cliente MySQL y ejecuta el siguiente comando:

mysql -u root -p

Dentro de la consola MySQL, crea un usuario replicador y otórgale los permisos necesarios:

CREATE USER 'replicador'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replicador'@'%';
FLUSH PRIVILEGES;

Este usuario se encargará de replicar los datos desde el maestro al esclavo.

Paso 3: Configurar el Servidor Esclavo

Ahora, en el servidor esclavo, abre el archivo de configuración de MySQL:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Configura los siguientes parámetros:

server-id = 2
relay-log = /var/log/mysql/mysql-relay-bin.log

El server-id debe ser diferente al del maestro. Guarda los cambios y reinicia MySQL en el esclavo:

sudo systemctl restart mysql

Paso 4: Conectar el Esclavo al Maestro

Con MySQL configurado en ambos servidores, necesitamos indicar al esclavo que se conecte al maestro. En el servidor esclavo, abre el cliente MySQL y ejecuta el siguiente comando:

CHANGE MASTER TO
MASTER_HOST='IP_DEL_MAESTRO',
MASTER_USER='replicador',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS= 4;

Finalmente, inicia el proceso de replicación en el esclavo:

START SLAVE;

Para verificar que la replicación esté funcionando correctamente, ejecuta:

SHOW SLAVE STATUS\G;

Si todo está correcto, deberías ver el estado de la replicación en ejecución.

Conclusión

Configurar la replicación maestro-esclavo de MySQL en Ubuntu 18.04 es una tarea sencilla si sigues estos pasos. Esta configuración es fundamental para entornos de producción que requieren alta disponibilidad y redundancia de datos. ¡Ahora tienes un sistema de base de datos escalable y preparado para soportar cargas de trabajo crecientes!