weblog of key_amb

主にIT関連の技術メモ

MySQL 5.6 Delayed Replication

アプリケーション開発などで意図的にレプリ遅延を起こして検証したいようなときがあります。

そういうとき、MySQL 5.5 以前では mk-slave-delay - Make a MySQL slave server lag behind its master. のようなツールを使う必要がありましたが、MySQL 5.6 では Delayed Replication がサポートされているので、SLAVE 上でコマンドを打つだけで遅延レプリケーションを実現できます。

STOP SLAVE;
CHANGE MASTER TO MASTER_DELAY = <N>; -- 秒数
START SLAVE;

遅延を0秒に戻したい場合は RESET SLAVE を打てばいいです。

参考