SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

【MySQL】レプリケーション先に間違って書き込みできなくする

問題

MySQLのレプリケーションで、複製先に間違って更新系SQLを流してしまったケースがあるのですが、防げないですか?

答え

以下の設定をする。

read_only=1
super_read_only=1

MySQL5.7以降で可能。

オンラインで変更可能。一時的に変更したいときは以下のSQLで可能。

SET GLOBAL READ_ONLY=ON;
SET GLOBAL READ_ONLY=OFF;
SET GLOBAL READ_ONLY=1;
SET GLOBAL READ_ONLY=0;
SET GLOBAL SUPER_READ_ONLY=ON;
SET GLOBAL SUPER_READ_ONLY=OFF;
SET GLOBAL SUPER_READ_ONLY=1;
SET GLOBAL SUPER_READ_ONLY=0;

my.cnf なら以下のように追記する。

read_only
super_read_only
read_only=0とか1とかONとかOFFとか
super_read_only=0とか1とかONとかOFFとか

関連するメモ

コメント