MySQLのレプリケーションで計画停止の手順について質問です。
既に、MySQL 5.7による マスター1台 と スレーブ1台 による準同期は実行されています。
その上での停止と再起動の手順が以下のようにすることで問題ないかを教えてください。
【マスター側の手順】
- FLUSH TABLES WITH READ LOCK; で、書き込みロック
- SHOW MASTER STATUS\G で、FileとPositionを記録
- SHOW STATUS LIKE 'Key_blocks_not_flushed'; で ログ書き込み完了の確認
【スレーブ側の手順】
- STOP SLAVE IO_THREAD; でレプリケーションの停止
- SHOW SLAVE STATUS\G で、Read_Master_Log_PosとExec_Master_Log_Posが同じになることを確認
- STOP SLAVE; でスレーブの停止
【各々のMySQLプロセス停止、マシンのシャットダウン】
【各々のマシン起動、MySQLプロセスは自動起動】
【スレーブ側の手順】
- RESET SLAVE ALL; でスレーブの設定情報を削除
- CHANGE MASTER TO ・・・ で、停止前のマスター側のFileとPositionを指定
- START SLAVE; スレーブを開始=レプリケーションの再開
色々なサイトの情報を見て、わからなくなったのがCHANGE MASTER TOで指定するFileとPositionですが、これを指定されたスレーブ側は、この部分からレプリケーションを再開するので、
- マシン再起動後(=マスター側のMySQL再起動後)のマスターのFileとPositionは変化しているので使わない
- あくまで指定するのは、レプリケーションを再開させたい位置
と理解しました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。