運用中のMySQLに対して書き込み(DML)を制限したいことがあると思います。たとえば、読み取り専用のMySQLを作成したり、バージョンアップのため新しいバージョンのスレーブを用意してマスターと切り替えるときに、マスターに対して書き込みを制限したいなどです。 また、もしあなたがMySQLのHAを提供する仕組みを作ることになったとすると、さまざまなMySQLの機能を使い実装すると思います。 そして、フェールオーバーに失敗し、スプリットブレインが発生する可能性を考慮しなくてはいけません。それを防ぐために、ユーザーからMySQLへの書き込みを禁止する仕組みが必要です。 MySQLには書き込みを禁止するためのいろんなオプションや手段があります。今回はMySQLへの書き込みを制限するさまざまな方法を紹介したいと思います。 1. READ_ONLY オプション 最初に紹介するのはREAD_ONLYオプ