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            |
+--------------------+