MySQL レプリケーション Error_code: 1032; 復旧手順
MySQL レプリケーションエラー 1032
MySQLでレプリケーションをしていると、たまに見かけるエラーコード。
マスターDBとスレーブDBでデータの不整合が発生した場合に出力され、レプリケーションが解除されてしまう厄介なエラーです。
エラー内容は、slave statusのLast_SQL_Errorを見ると確認できる。
Last_SQL_Error: Could not execute Update_rows event on table テーブル名 Can’t find record in 'テーブル名', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event’s master log mysql-bin.001651, end_log_pos 30615421
根本原因は別途探るとして、暫定対処としてレプリケーションを復活させる。
レプリケーション復旧手順
1.マスター側の状態を確認
mysqlにログインしてマスター状態の確認(※マスターDB側で作業
mysql> show master status\G;
*************************** 1. row ***************************
File: mysql-bin.000025
Position: 1019
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set:
1 row in set (0.00 sec)
File:とPosition:をメモしておく。
2.スレーブ再セット
スレーブサーバー側でスレーブ状態の再設定を実施。
・Slave解除
mysql>stop slave;
・マスターDBのFileとPositionを指定
mysql>change master to master_log_file=’mysql-bin.000025′,master_log_pos=1019;
・Slave再開
mysql>start slave;
show slave statusでエラーが解消されていればOK!!
再発する場合は、アプリ側の根本原因を対策しましょう!
ディスカッション
コメント一覧
まだ、コメントがありません