読者です 読者をやめる 読者になる 読者になる

tweeeetyのぶろぐ的めも

アウトプットが少なかったダメな自分をアウトプット<br>\(^o^)/

エラーログの確認とmasterslave不整合とSQL_SLAVE_SKIP_COUNTERと

よくあるが毎回忘れるので
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になりました。


ってことで、とりあえずのメモ