mysql.rds_next_master_log - Amazon Relational Database Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

mysql.rds_next_master_log

Cambia la posición del registro de instancia de base de datos de origen al inicio del siguiente registro binario en la instancia de base de datos de origen. Use este procedimiento únicamente si aparece el error de E/S de replicación 1236 en una réplica de lectura.

Sintaxis

CALL mysql.rds_next_master_log( curr_master_log );

Parámetros

curr_master_log

El índice del archivo de registro maestro actual. Por ejemplo, si el nombre del archivo actual es mysql-bin-changelog.012345, el índice es 12345. Para determinar el nombre del archivo de registro maestro actual, ejecute el comando SHOW SLAVE STATUS y vea el campo Master_Log_File.

Notas de uso

El usuario maestro debe ejecutar el procedimiento mysql.rds_next_master_log.

aviso

Llame a mysql.rds_next_master_log solo si la replicación deja de funcionar tras una conmutación por error de una instancia de base de datos con varias zonas de disponibilidad que es el origen de la replicación y el campo Last_IO_Errno de SHOW SLAVE STATUS muestra el error de E/S 1236.

La llamada a mysql.rds_next_master_log puede provocar una pérdida de datos en la réplica de lectura si las transacciones de la instancia de origen no se escribieron en el registro binario en el disco antes del evento de conmutación por error. Puede reducir el riesgo de que esto ocurra en configurando los parámetros de instancia de origen sync_binlog=1 e innodb_support_xa=1, aunque esto puede reducir el desempeño. Para obtener más información, consulte Trabajo con réplicas de lectura.

Ejemplos

Suponga que la replicación genera un error en una réplica de lectura de Amazon RDS. Ejecutar SHOW SLAVE STATUS\G en la réplica de lectura devuelve el siguiente resultado:

*************************** 1. row *************************** Slave_IO_State: Master_Host: myhost.XXXXXXXXXXXXXXX.rr-rrrr-1.rds.amazonaws.com Master_User: MasterUser Master_Port: 3306 Connect_Retry: 10 Master_Log_File: mysql-bin-changelog.012345 Read_Master_Log_Pos: 1219393 Relay_Log_File: relaylog.012340 Relay_Log_Pos: 30223388 Relay_Master_Log_File: mysql-bin-changelog.012345 Slave_IO_Running: No Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 30223232 Relay_Log_Space: 5248928866 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: NULL Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 1236 Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from impossible position; the first event 'mysql-bin-changelog.013406' at 1219393, the last event read from '/rdsdbdata/log/binlog/mysql-bin-changelog.012345' at 4, the last byte read from '/rdsdbdata/log/binlog/mysql-bin-changelog.012345' at 4.' Last_SQL_Errno: 0 Last_SQL_Error: Replicate_Ignore_Server_Ids: Master_Server_Id: 67285976

El campo Last_IO_Errno muestra que la instancia ha recibido el error de E/S 1236. El campo Master_Log_File muestra que el nombre de archivo es mysql-bin-changelog.012345, lo que significa que el índice del archivo de registro es 12345. Para resolver el error, puede llamar a mysql.rds_next_master_log con el siguiente parámetro:

CALL mysql.rds_next_master_log(12345);