MySQL5.6の遅延レプリケーションを試してみる
CentOSにMySQL5.6をインストールしてみる
の続き
MySQL5.6の遅延レプリケーションを試してみる。
【参考】 MySQL5.5で意図的にレプリケーションを遅延させるpt-slave-delay - FAT47の底辺インフラ議事録 http://d.hatena.ne.jp/fat47/20131206/1386323342
準備
下記の記事の手順で、mysqld_multiで複数起動し、
mysqld_multiで複数起動してみる - yk5656 diary http://d.hatena.ne.jp/yk5656/20140618/1404312714
レプリケーションさせる。
MySQLでレプリケーションしてみる(mysqld_multi) - yk5656 diary http://d.hatena.ne.jp/yk5656/20140624/1404557566
遅延レプリケーション
スレーブ側に入って、遅延させるよう設定する。
(今回は60秒遅延させる)
$ mysql -h 127.0.0.1 -P 3307 -u root mysql> STOP SLAVE; mysql> CHANGE MASTER TO MASTER_DELAY=60; mysql> START SLAVE;
遅延の設定がされているのが確認できる。
mysql> show slave status\G ・・・ SQL_Delay: 60 ・・・
※再起動後も設定は保持されます。
確認
マスター側でデータベースを作成してみる。
$ mysql -h 127.0.0.1 -P 3306 -u root mysql> create database sample2;
スレーブ側にはすぐに反映されない。
mysql -h 127.0.0.1 -P 3307 -u root mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sample | +--------------------+
1分ほど待つと、反映される。
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sample |
| sample2 |
+--------------------+