Replicación GTID de MySQL (async / semi-sync)
MySQLNivel: IntermedioDuración: 45–90 minConfigura una replicación basada en GTID con 1 source + N replicas a partir de servidores MySQL ya instalados: usuario de replicación, traslado de los datos existentes con el clone plugin o mysqldump, SOURCE_AUTO_POSITION, TLS, semi-sync opcional, replicas con super_read_only, monitorización del retraso y un procedimiento de failover manual. El resultado es una topología monitorizada que atiende las escrituras en el source y puede atender las lecturas en las replicas. Si necesita failover automático, consulte InnoDB Cluster; para la operación diaria y las averías de una replicación ya configurada, consulte la guía de operación de la replicación.
Topología: 1 source + 1..5 replicas
Antes de empezar
- MySQL … está instalado y en ejecución en todos los servidores con la misma versión menor (guía de DBAtlas Instalación de MySQL en un solo servidor), con binlog y GTID activados. El usuario root del sistema operativo puede conectarse con mysql sin contraseña.
- server_id y server_uuid son distintos en cada servidor. (Si los servidores se crearon copiando/clonando, el auto.cnf del datadir puede ser idéntico: bórrelo y reinicie el servicio.)
- Los servidores se alcanzan entre sí por el puerto … (…).
- Los relojes están sincronizados (chrony). La medición del retraso y el PITR dependen de las marcas de tiempo.
- Las replicas tienen tanto espacio libre como el tamaño de los datos del source…, además de espacio para el archivo de dump….
- Se conocen el tamaño de los datos del source y la velocidad de la red (para estimar la duración del traslado).
- Hay contraseñas robustas preparadas para el usuario de replicación… y para el usuario temporal de clone… (al menos 8 caracteres, mayúsculas y minúsculas, dígitos, caracteres especiales; sin ' ni \). Los pasos piden las contraseñas sin mostrarlas en pantalla.
- Se sabe que la aplicación envía las escrituras solo al source y (opcionalmente) las lecturas a las replicas; las replicas serán super_read_only.
Fases de la guía
- Preparación (todos los servidores) — Comprobar la identidad de los servidores · Permitir los demás nodos en el firewall · Añadir los parámetros de replicación (source) · Añadir los parámetros de replicación (…) · Reiniciar MySQL
- Preparación del source — Crear el usuario de replicación · Instalar los plugins de semi-sync · Activar semi-sync en el source
- Traslado de los datos a la replica (clone) — Instalar el plugin de clone · Crear el usuario temporal de clone · Clonar el source (…)
- Traslado de los datos a la replica (mysqldump) — Obtener un dump consistente del source · Copiar el dump a las replicas · Cargar el dump (…)
- Iniciar la replicación — Poner la replica en solo lectura (…) · Definir el source e iniciar la replicación (…)
- Verificación — Ver las replicas conectadas en el source · Escritura de prueba (source) · Leer la escritura de prueba en la replica (…) · Borrar la base de datos de prueba
- Monitorización del retraso y del estado — Estado de la replicación y retraso (…)
- Limpieza — Borrar el usuario de clone · Borrar el archivo de dump
- Failover manual (pérdida del source) — Failover: comprobar el estado de la candidata · Failover: comprobar el estado de la candidata · Failover: promover la candidata a source · Failover: promover la candidata a source · Failover: conectar las demás replicas al nuevo source (…) · Failover: conectar las demás replicas al nuevo source (…) …