DBAtlas · データベース運用アトラス

1236: Got fatal error 1236 from master when reading data from binary log(バイナリログの読み取り中にマスターから致命的エラー 1236)

MySQL

意味

レプリカ (スレーブ) サーバーがソース (マスター) のバイナリログからデータを読み取る際に致命的なエラーを受け取り、レプリケーションが停止した。レプリカはソースの binlog 内で想定している位置を見つけられない。

原因

必要なバイナリログファイルがソースで削除された (binlog_expire_logs_seconds — 8.0 より前は expire_logs_days で、8.4 で削除 — または PURGE BINARY LOGS)、GTID の欠落/不一致、ソースのクラッシュ後の binlog 位置の破損、またはレプリカの遅延が大きすぎて既に存在しないログを要求している。'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 を一覧表示する: SHOW BINARY LOGS; 欠落したログがパージされている場合は、新しいバックアップ/GTID 位置からレプリカを再構築する必要がある (mysqldump --source-data — 8.0.26 より前は --master-data で、8.0.26+ では非推奨の別名 — または CLONE プラグイン)。ワークロードに合わせてソースの binlog 保持期間を延長し、GTID を使用している場合は GTID の欠落を確認する。

DBAtlas で開く →

同じデータベースの他の項目