Skip to content
🚀 20% OFF for new customers on Linux and Windows servers! Code: ILK20  |  Order Now →
database Gestión de Bases de Datos

Cómo realizar la replicación Maestro-Esclavo de MySQL

Se explica paso a paso la instalación de la replicación Maestro-Esclavo de MySQL. Solución ideal para balanceo de carga, respaldo y rendimiento de bases de datos.

person
Editör
(Actualizado: 10 sep 2026) schedule 4 min de lectura visibility 10 visitas

En la gestión de bases de datos MySQL, la configuración de la replicación maestro-esclavo es un método indispensable, especialmente para sitios web con alto tráfico y aplicaciones críticas. Gracias a esta estructura, todos los datos escritos en la base de datos principal (master) se copian instantáneamente a una o más bases de datos de respaldo (slave). ¿Cómo se realiza esta replicación? Aquí tienes una explicación paso a paso.

¿Por qué la replicación Maestro-Esclavo?

Una de las mayores ventajas de la replicación maestro-esclavo es que distribuye la carga de lectura a los servidores esclavos, reduciendo la presión sobre el maestro. Por ejemplo, en un sitio de comercio electrónico, las operaciones de lectura como el listado de productos se realizan a través del esclavo, mientras que las operaciones de escritura como la creación de pedidos permanecen en el maestro. Además, si el servidor maestro falla, puedes convertir rápidamente el esclavo en maestro para proporcionar un servicio ininterrumpido.

Preparación del servidor Maestro

Primero, realizaremos los ajustes necesarios para la replicación en el servidor maestro. Abre el archivo de configuración de MySQL (generalmente /etc/mysql/my.cnf o /etc/my.cnf) y añade los siguientes parámetros:

  • server-id: 1 (un ID único para el maestro)
  • log-bin: /var/log/mysql/mysql-bin.log (ruta del archivo de registro binario)
  • binlog-do-db: nombre de la base de datos a replicar (opcional)

Ejemplo de configuración:

[mysqld] server-id = 1 log-bin = /var/log/mysql/mysql-bin.log binlog-do-db = myapp

Luego reinicia MySQL: sudo systemctl restart mysql

Creación del usuario de replicación

Debes crear un usuario en el servidor maestro al que se conectará el esclavo. Conéctate a MySQL como usuario root y ejecuta los siguientes comandos:

CREATE USER 'replica'@'%' IDENTIFIED BY 'contraseña_fuerte'; GRANT REPLICATION SLAVE ON *.* TO 'replica'@'%'; FLUSH PRIVILEGES;

Aquí, '%' permite la conexión desde cualquier IP; por seguridad, se recomienda usar una dirección IP específica.

Obtención de la información de estado del Maestro

Obtén el nombre del archivo de registro binario y la posición del maestro para usarlos en la configuración del esclavo:

SHOW MASTER STATUS;

Anota los valores de File y Position. Por ejemplo: File: mysql-bin.000001, Position: 107

Preparación del servidor Esclavo

Ahora pasa al servidor esclavo. Agrega las siguientes líneas al archivo de configuración:

  • server-id: 2 (debe ser diferente al del maestro)
  • relay-log: /var/log/mysql/mysql-relay-bin.log

Ejemplo:

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

Reinicia MySQL.

Configuración de la conexión del Esclavo

Con la información obtenida del maestro, conecta el esclavo al maestro. Conéctate a MySQL como root y ejecuta el siguiente comando:

CHANGE MASTER TO MASTER_HOST='direccion_ip_maestro', MASTER_USER='replica', MASTER_PASSWORD='contraseña_fuerte', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=107;

Luego inicia el esclavo:

START SLAVE;

Para verificar el estado de la replicación:

SHOW SLAVE STATUS\G;

En la salida, los valores Slave_IO_Running y Slave_SQL_Running deben ser Yes. De lo contrario, revisa el mensaje de error.

Problemas comunes y soluciones

  • Bloqueo de firewall: Asegúrate de que el puerto 3306 del servidor maestro esté accesible desde el esclavo.
  • Conflicto de server-id: Usa server-id únicos en todos los servidores.
  • Inconsistencia en la posición del registro binario: Si el esclavo ya contiene datos antiguos, realiza un volcado del maestro y cárgalo en el esclavo, luego conéctalo con la posición correcta.

Importante: Al configurar la replicación en sistemas en producción, asegúrate de hacer una copia de seguridad y realiza el proceso en horas de bajo tráfico.

Conclusión

La replicación maestro-esclavo es una de las técnicas fundamentales de gestión de bases de datos que recomendamos a nuestros clientes en HostingServer.com.tr. Gracias a esta estructura, puedes mejorar el rendimiento de tus aplicaciones y reducir el riesgo de pérdida de datos. No olvides verificar regularmente el estado de la replicación después de la instalación. Recuerda, con una configuración y monitoreo adecuados, la replicación de MySQL te salvará de muchos problemas.

Comparte este artículo

Artículos relacionados