Solución de problemas de replicación de entrada
Solucione los problemas que encuentre durante la replicación de entrada.
Solución de errores de replicación de entrada
Aísle errores de replicación de entrada mediante la recuperación de información relacionada con la replicación de entrada.
Con MySQL Shell
Utilice el shell MySQL o un programa de cliente MySQL para recuperar información relacionada con la replicación de entrada.
- Sistema de base de datos de réplica en ejecución.
- Shell MySQL o un programa de cliente MySQL conectado al sistema de base de datos de réplica.
SHOW REPLICA STATUS \G
Muestra información de estado sobre los parámetros esenciales de los threads de réplica. Consulte SHOW REPLICA STATUS.
SELECT * FROM performance_schema.replication_connection_status \G
Muestra el estado actual del thread de E/S que maneja la conexión de la réplica al origen. Consulte replication_connection_status.
SELECT * FROM performance_schema.replication_applier_status_by_worker \G
Muestra detalles de las transacciones gestionadas por threads de aplicador en una réplica. Consulte replication_applier_status_by_worker.
Códigos de error de receptor de replicación de entrada
En esta tabla, se muestran algunos de los códigos de error comunes del receptor de replicación de entrada.
Tabla 22-4 Códigos de error de receptor de replicación de entrada
Código de Error | Descripción |
---|---|
MY-1045: ER_ACCESS_DENIED_ERROR; Access denied for user '%s'@'%s' |
|
MY-1227 (42000): Access denied; you need (at least one of) the SUPER or SET_USER_ID privilege(s) for this operation |
Puede realizar una de las siguientes acciones:
|
MY-1236: ER_MASTER_FATAL_ERROR_READING_BINLOG Got fatal error %d from master when reading data from binary log: '%s' |
Consulte Resolución del error fatal 1236. |
MY-2003: Network connection has been refused |
El nombre de host y el puerto son incorrectos o el origen no se está ejecutando. Compruebe el nombre de host y el puerto que ha definido y confirme que el origen se está ejecutando. |
MY-3159: ER_SECURE_TRANSPORT_REQUIRED Connections using insecure transport are prohibited while --require_secure_transport=ON |
El origen necesita una conexión segura. Confirme que ha seleccionado una de las opciones de SSL al definir el canal. |
Códigos de error de aplicador de replicación de entrada
En esta tabla, se muestran algunos de los códigos de error comunes del aplicador de replicación de entrada.
Tabla 22-5 Códigos de error de aplicador de replicación de entrada
Código de Error | Descripción |
---|---|
|
Estos errores se producen si los datos de la réplica ya no están sincronizados con el origen. Esto puede ocurrir si los datos de la réplica se han editado manualmente, por ejemplo. Para corregir estos errores, debe volver a sincronizar el origen y la réplica y reanudar el canal de replicación. |
MY-1205: ER_LOCK_WAIT_TIMEOUT |
Se ha excedido el timeout. Para corregir este error, reanude el canal de replicación. Consulte Reanudación de un canal |
MY-1595/ MY-013121: RELAY LOG READ FAILURE |
El log de relé está dañado y no se puede leer. Para corregir este error, restablezca el canal de replicación. Consulte Restablecimiento de un canal. |
Resolución del error fatal 1236
Aparece el error cuando el juego de GTID del volcado lógico no se aplica al sistema de base de datos o los logs binarios se han depurado del origen. Los logs binarios son un requisito obligatorio para la replicación.
Con MySQL Shell
Utilice el shell MySQL para resolver Fatal Error 1236
que aparece al ejecutar la replicación de entrada.
- Aparece
Fatal Error 1236
al ejecutar la replicación de entrada:Got fatal error 1236 from master when reading data from binary log: 'The slave is connecting using CHANGE MASTER TO MASTER_AUTO_POSITION = 1, but the master has purged binary logs containing GTIDs that the slave requires.
En el establecimiento de comunicación de la conexión inicial, la réplica (sistema de base de datos) envía un juego de GTID que contiene las transacciones que ya ha recibido, confirmado o ambos casos. El origen responde enviando todas las transacciones registradas en su log binario cuyo GTID no esté incluido en el juego de GTID enviado por la réplica. Este intercambio garantiza que el origen solo envíe las transacciones con un GTID que la réplica no haya registrado ni confirmado.
- Para aplicar el GTID definido durante la carga, utilice la opción
updateGtidSet: "append"
en el comandoloadDump()
de MySQL Shell. Consulte Utilidad de carga de volcado de MySQL Shell. - Revise y aumente la configuración del log de caducidad del origen para garantizar un tiempo suficiente para la transferencia de datos a la réplica. Consulte binlog_expire_logs_seconds y expire_logs_days.
Resolución de problemas de sincronización de réplica y origen
Los problemas de sincronización se producen cuando la réplica está muy por detrás del origen y la replicación no se puede recuperar.
Antes de intentar recuperarse de este error, se recomienda que investigue por qué se ha producido el error y tome acciones correctivas.
Con MySQL Shell
Utilice el shell MySQL para resolver los problemas de sincronización de origen y réplica.
- El origen y la réplica de la replicación de entrada ya no están sincronizados, la réplica ha caído mucho más allá del origen y la replicación no se puede recuperar.
Si los valores de gtid del origen se restablecen a un valor inferior al de la réplica, si se ha emitido un
reset master
erróneo en el origen, por ejemplo, la replicación de entrada no se puede recuperar. En ese caso, vuelva a crear la configuración del sistema de base de datos y la replicación de entrada.