1236: Got fatal error 1236 from master when reading data from binary log
MySQLЧто это значит?
Сервер-реплика (slave) получил фатальную ошибку при чтении данных из двоичного журнала source (master), и репликация остановилась. Реплика не может найти ожидаемую позицию в binlog source.
Почему возникает?
Необходимые файлы двоичного журнала удалены на source (binlog_expire_logs_seconds — expire_logs_days до 8.0, удалён в 8.4 — или PURGE BINARY LOGS); пропуск/несоответствие GTID; повреждённая позиция binlog после аварийного сбоя source; либо реплика настолько отстала, что запрашивает журнал, которого больше нет. Типичное подсообщение — 'Could not find first log file name in binary log index file'.
Как исправить
Проверьте состояние репликации: SHOW REPLICA STATUS\G (8.0.22+; в старых версиях SHOW SLAVE STATUS, старый синтаксис удалён в 8.4). Выведите binlog, доступные на source: SHOW BINARY LOGS; Если отсутствующий журнал удалён, реплику необходимо пересоздать из нового бэкапа/позиции GTID (mysqldump --source-data — --master-data до 8.0.26, устаревший псевдоним в 8.0.26+ — или плагин CLONE). Увеличьте хранение binlog на source в соответствии с нагрузкой; если используете GTID, проверьте пропуски GTID.
Ещё по этой СУБД
- 1049Unknown database 'name'
- 1364Field 'name' doesn't have a default value
- 1206The total number of locks exceeds the lock table size
- 1129Host 'host' is blocked because of many connection errors
- 1194Table 'name' is marked as crashed and should be repaired
- 1615Prepared statement needs to be re-prepared
- 1553Cannot drop index needed in a foreign key constraint