MySQLレプリケーションの動作確認と不具合時の復旧方法
【動作不具合時の確認方法】
スレーブサーバで、
mysql> show slave status\G; ・ ・ Read_Master_Log_Pos: 424597747 ・ Slave_IO_Running: Yes Slave_SQL_Running: Yes
〜RunningがNoになっていたらレプリケーションが止まっています。
マスターサーバで、
mysql> show master status\G; File: mysql-bin.000108 Position: 424597871
Positionの値とスレーブサーバのRead_Master_Log_Posの値が異なっていると×です。
【復旧方法】
スレーブサーバで、
mysql> stop slave; mysql> show slave status \G; ・ ・ Slave_IO_Running: No Slave_SQL_Running: No
となっていることを確認し、
mysql> reset slave;
を実行。
それからスレーブサーバで、
mysql> CHANGE MASTER TO -> MASTER_HOST='ホスト名', -> MASTER_USER='マスターユーザ名', -> MASTER_PASSWORD='マスターパスワード', -> MASTER_LOG_FILE='mysql-bin.000108', //マスターサーバの情報 -> MASTER_LOG_POS=424597871; //マスターサーバの情報 mysql> slave start; mysql> show slave status \G; ・ ・ Read_Master_Log_Pos:424597871 ・ Slave_IO_Running: Yes Slave_SQL_Running: Yes
となっていること確認