MySQL复制失败`mysql`.`user`更改

我有一个简单的主从设置MySQL 5.6,每当我修改mysql.user表时,都会一直失败。 主设置为复制两个数据库,这两个数据库都不是mysql数据库。 binlog_format被设置为ROW。

我有各种各样的同事在主人上设置的MySQL用户的select,以改变数据库,但在奴隶,我只有一个用户,这是networking服务器。

当我试图从主站删除冗余用户时,从站失败,并显示以下消息:

Error 'Operation DROP USER failed for 'mysql_user'@'localhost'' on query. Default database: ''. Query: 'DROP USER 'mysql_user'@'localhost'' 

我不想一直跳过这个错误,因为我现在每次都会对mysql.user表进行更改,而且很容易忘记检查复制是否还在继续。 我没有任何监控设置的复制,所以有几次我更改了MySQL表,没有人注意到了几个小时,这影响了我们的生产Web服务器。

任何帮助非常感谢。

注意你的错误信息部分: 'mysql_user'@'localhost''

localhost后面有两个引号。 复制此语句时,从属数据库服务器无法find用户,并停止复制。 MySQL 5.7具有DROP USER IF EXISTS user表单,但在MySQL 5.6中,您最好不要犯这样的错误,或者更喜欢直接编辑mysql数据库。

更新:如果您不希望将MySQL帐户从主服务器复制到从服务器,则可能需要将replicate-ignore-db=mysql到每个从服务器上的[mysqld]部分。 我更喜欢在从服务器上进行筛选,因为主服务器的二进制日志中的更改对于将来的排除故障具有潜在的价值。