MySQLのレプリケーション設定

■マスター側

設定ファイル編集
vi /etc/my.cnf

 

MySQL再起動

 

データディレクトリがにバイナリデータが作成されているのを確認

 

MySQLユーザと権限付与

 

データダンプ

※特定のDBのみdumpする場合は–all-databasesを削除しdb名を追加
※MyISAMの場合は、–master-dataによって、自動的に–lock-all-tablesが有効になるので、すべてのテーブルがロックされてしまうので注意
※InnoDBであれば、–single-transactionを付与することで、ロックされることなくdumpを取得できる。

dumpファイルをスレーブ側へ転送しておく

 

■スレーブ側設定

設定ファイル編集

 

再起動

 

マスターDBのダンプの読み込み

 

ダンプした時点の、マスターのバイナリログファイル名(MASTER_LOG_FILE)と開始位置(MASTER_LOG_POS)を確認しておく

 

レプリケーション設定

 

レプリケーションの開始

 

レプリケーションの動作確認

※Slave_IO_Running と Slave_SQL_Running がどちらもYesになっていれば、レプリケーションが正常に動作しています。

参考サイト)

レプリケーションが動かなくなった時

基本は以下のサイトの手順で復旧可能。

MySQLのレプリケーション時エラー対処方法

https://qiita.com/soramugi/items/3c33200b5903007f3ead

 

もしそれでもだめなら、当記事の「データダンプ」のとこからやり直す。

2019/1/28レプリケーションが機能していないと気付いた(「Slave_IO_Running 」が「Yes」にならない)。

その際はダンプからもう一度行うことで復旧した。

ストレージ障害とか、IO系の障害とかあった後は、要注意。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*