Saltar al contenido
DBAExperts
MySQL Alta disponibilidad

Cómo configurar replicación en MySQL para alta disponibilidad

La replicación mantiene una o más réplicas que copian los cambios de un servidor primario. Sirve para tolerancia a fallos, lecturas escaladas y respaldos sin impactar producción. En MySQL 8.0 lo recomendado es usar replicación basada en GTID por su robustez ante failover.

  1. 1

    Prepara el servidor primario

    Activa el binlog, GTID y un server_id único. Estos parámetros van en my.cnf y requieren reinicio.

    [mysqld]
    server_id = 1
    log_bin = mysql-bin
    gtid_mode = ON
    enforce_gtid_consistency = ON
  2. 2

    Crea el usuario de replicación en el primario

    La réplica se conecta con este usuario. Solo necesita el permiso REPLICATION SLAVE.

    CREATE USER 'repl'@'10.0.%.%' IDENTIFIED BY 'clave_repl_fuerte';
    GRANT REPLICATION SLAVE ON *.* TO 'repl'@'10.0.%.%';
  3. 3

    Configura la réplica y arráncala

    Con GTID no necesitas anotar posiciones de binlog: MASTER_AUTO_POSITION se encarga. Antes debes sembrar la réplica con una copia consistente del primario.

    CHANGE REPLICATION SOURCE TO
      SOURCE_HOST = '10.0.0.1',
      SOURCE_USER = 'repl',
      SOURCE_PASSWORD = 'clave_repl_fuerte',
      SOURCE_AUTO_POSITION = 1;
    START REPLICA;
  4. 4

    Verifica el estado de la réplica

    Ambos hilos deben decir Yes y Seconds_Behind_Source debe estar en 0 o cerca. Cualquier error aparece en Last_Error.

    SHOW REPLICA STATUS\G

// el error común

La replicación NO es un respaldo: si borras datos por error en el primario, ese DELETE se replica al instante a la réplica. Además, la replicación asíncrona puede perder las últimas transacciones si el primario cae; para cero pérdida necesitas replicación semisíncrona o un clúster de grupo.

// cuándo conviene un experto

Diseñar alta disponibilidad real (failover automático, sin pérdida de datos, split-brain controlado) tiene muchos detalles finos. En dba.mx implementamos topologías con failover probado y monitoreo, con techo cerrado.

Agenda un Escaneo — desde USD $550

Esta guía es orientativa y usa comandos de referencia. En producción, adapta a tu versión y prueba en un ambiente seguro primero.