MySQL5.5で意図的にレプリケーションを遅延させるpt-slave-delay
サービス運用している時にレプリケーション遅延が発生してアプリケーションがバグった。
という事態にならないように、開発環境のDBは遅延を発生させてを遅延を考慮したアプリケーションが開発できるようにします。
※MySQL5.6の場合は↓をするだけです。
STOP SLAVE; CHANGE MASTER TO MASTER_DELAY=360; START SLAVE;
Percona Toolkit
今回はPercona Toolkitのpt-slave-delayを利用します。
Percona Toolkitのインストール
wget http://www.percona.com/redir/downloads/percona-toolkit/LATEST/RPM/percona-toolkit-2.2.5-2.noarch.rpm ※依存パッケージ yum install perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL rpm -ivh percona-toolkit-2.2.4-1.noarch.rpm
利用方法
pt-slave-delay --delay 1m --interval 10s --socket=/var/lib/mysql/mysql.sock -u root localhost
中身は自動的に遅延秒数見ながらSTOP SLAVE、START SLAVEを繰り返しているだけです。
Ctrl+Cで実行終了すれば、勝手にSTOP SLAVEは解除されます。
-
- delayが遅延させる秒数
- intervalが遅延状態の確認間隔
その他は接続情報
詳細オプションはこちら
http://www.percona.com/doc/percona-toolkit/2.1/pt-slave-delay.html