よくあるが毎回忘れるので
MySQLスレーブでSQLスレッドが停止したときの対処方法 自分用メモです
ながれ
1.スレーブのステータス確認(ダメな確認)
2.SQL_SLAVE_SKIP_COUNTERでエラースキップ
3.スレーブのステータス確認(なおった確認)
ってことで
1.スレーブのステータス確認(ダメな確認)
mysql> show slave status\G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event ・・・省略・・・ Relay_Log_Pos: 5516718 Relay_Master_Log_File: mysql-bin.000200 Slave_IO_Running: Yes Slave_SQL_Running: No ・・・省略・・・ Last_Errno: 1062 Last_Error: Error 'エラー内容' ・・・省略・・・
2.SQL_SLAVE_SKIP_COUNTERでエラースキップ
エラーの内容的にスキップしてよさげならSQL_SLAVE_SKIP_COUNTERを使ってエラーをスキップする
mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; mysql> START SLAVE;
3.スレーブのステータス確認(なおった確認)
mysql> show slave status\G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event ・・・省略・・・ Relay_Log_Pos: 5521334 Relay_Master_Log_File: mysql-bin.000200 Slave_IO_Running: Yes Slave_SQL_Running: Yes ・・・省略・・・ Last_Errno: 0 Last_Error: ・・・省略・・・
Slave_SQL_RunningがYes、Last Errnoが0になりました。
ってことで、とりあえずのメモ