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.

Índice

    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 STATUSG;

    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!

    Usuario logueado: No