Mysql: Исправление ошибки 1236 при репликации
После непредвиденной перезагрузки мастер сервера mysql на сервере где была slave реплика появилась ошибка —
Got fatal error 1236: ‘Client requested master to start replication from impossible position’ from master when reading data from binary log
Проблема возникла из-за того, что в mysql-bin не успели записаться данные и подчиненный сервер пытается их прочитать.
Для восстановление реплики нужно понять на каком этапе она остановилась:
SHOW SLAVE STATUS \G; |
Master_Log_File: mysql-bin.000017
Read_Master_Log_Pos: 1060
Slave_IO_Running: No
Slave_SQL_Running: Yes
Теперь для восстановления выполним команды
STOP SLAVE; CHANGE MASTER TO MASTER_LOG_POS = 0; CHANGE MASTER TO MASTER_LOG_FILE = 'mysql-bin.000018'; START SLAVE; |
и смотрим вывод
SHOW SLAVE STATUS \G; |
Master_Log_File: mysql-bin.000018
Read_Master_Log_Pos: 10
Slave_IO_Running: Yes
Slave_SQL_Running: Yes