For MySQL 5.1.14 and later, the mysql
database is not replicated. The mysql
database is instead seen as a node specific database. Row-based
replication is not supported on this table. Instead, statements
that would normally update this information (including
GRANT, REVOKE and the
manipulation of triggers, stored routines/procedures, and views)
are all replicated to slaves using Statement based replication.
For MySQL 5.1.13 and earlier, user privileges are replicated
only if the mysql database is replicated.
That is, the GRANT,
REVOKE, SET PASSWORD,
CREATE USER, and DROP USER
statements take effect on the slave only if the replication
setup includes the mysql database.
If you're replicating all databases, but don't want statements
that affect user privileges to be replicated, set up the slave
to not replicate the mysql database, using
the --replicate-wild-ignore-table=mysql.%
option. The slave will recognize that issuing privilege-related
SQL statements won't have an effect, and thus not execute those
statements.

User Comments
Add your own comment.