今回は Slave_IO_Running: No の場合
スレーブ側で
mysql> SHOW SLAVE STATUS;
Slave_IO_Running: と Slave_SQL_Running: が両方とも YES になっていると、スレーブは問題なく動作していることになる。
しかしSlave_IO_RunningのみがNOになっている。どうしよう困った。
手順としてはレプリケーション側の情報をマスターの情報に全て書き変えてしまってSTART SLAVE;を行う。
まず最初にマスター側で
mysql> FLUSH TABLES WITH READ LOCK;
mysql> SHOW MASTER STATUS;
で表示された
FileとPositionの値を取っておく
例としてFile:mysql-bin.000003 | Position:3533033としておく
メモ取り終わったら
mysql> UNLOCK TABLES;
でロック解除
そしてマスターのDB情報をダンプ
$ mysqldump -u root -p master_db > master_db.sql
ダンプしたsqlをスレーブに上書きする
$ mysql -u root -p slave_db < master_db.sql
スレーブ側で
mysql> STOP SLAVE;
mysql> CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=3533033;
mysql> START SLAVE;
mysql> SHOW SLAVE STATUS;
これで直った