FAT47の底辺インフラ議事録

学んだことのメモ帳です

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