MySQL
5.1.14以降のバージョンでは、mysqlデータベースはbinlog_formatの内容に従ってレプリケーションが実行されます。binlog_format=MIXEDの場合には、行ベースフォーマットを利用して
レプリケーションが行われます。通常は、これらのテーブルはGRANT、REVOKEを実行したり、トリガやストアドルーチン、またはビューに対する変更を行うことによって、間接的に更新されます。その場合、ステートメントベースレプリケーションを用いていると、各ステートメントがスレーブへ伝搬されます。
MySQL
5.1.13以前のバージョンでは、ユーザ権限はmysqlデータベースがスレーブへレプリケーションされたときだけ伝搬されます。即ち、GRANT/REVOKE/SET
PASSWORD/CREATE USER/DROP
USERなどのコマンドは、mysqlデータベースが複製されるように設定されている場合のみスレーブへ伝搬されます。
すべてのデータベースを複製する場合に、ユーザ権限に影響するステートメントを不要とするときは、--replicate-wild-ignore-table=mysql.%
オプションを使用して、スレーブが
mysql
データベースを複製しないように設定します。このスレーブは、権限に関連する
SQL
コマンドを実行することは有効ではない、と認識するため、そのクエリは実行されません。
