■マスター側
設定ファイル編集
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になっていれば、レプリケーションが正常に動作しています。
参考サイト)
- https://blog.apar.jp/linux/3163/
- http://muramasa64.fprog.org/diary/?date=20111017
- http://koexuka.blogspot.jp/2009/06/mysql_10.html
- http://qiita.com/ryounagaoka/items/7be0479a36c97618907f
- http://d.hatena.ne.jp/omiyan/20110128/p1
レプリケーションが動かなくなった時
基本は以下のサイトの手順で復旧可能。
https://qiita.com/soramugi/items/3c33200b5903007f3ead
もしそれでもだめなら、当記事の「データダンプ」のとこからやり直す。
2019/1/28レプリケーションが機能していないと気付いた(「Slave_IO_Running 」が「Yes」にならない)。
その際はダンプからもう一度行うことで復旧した。
ストレージ障害とか、IO系の障害とかあった後は、要注意。