Xupeng's blog

圆外之大,心向往之

如何同步 GRANT/REVOKE 操作

发现在 MySQL master 上用 GRANT 语句授予用户权限和用 REVOKE 语句收回权限的操作没有被同步到 slave 上,有两个 bug 报告的行为和我遇到的一致:#25482 #50460,但从文档看,#25482 描述的是 bug,而 #50460 描述的内容则是 MySQL 的预期行为。

这里这里 描述了 MySQL 如何判定是否要写 binlog,对于我遇到的问题,原因是做 GRANT/REVOKE 操作时没有选择默认数据库,而 MySQL 在没有默认数据库的情况下根本就不会把 GRANT/REVOKE 操作写入 binlog,当然也就不会被同步到 slave 上,要解决这个问题,在 GRANT/REVOKE 之前 USE 任意没有被 --replicate-ignore-db 忽略的数据库即可。

Comments