我的从属数据库(MySQL 5.7.12)上的复制突然停止工作。运行时,SHOW SLAVE STATUS\G
我看到以下错误:
Last_Errno: 1396
Last_Error: Error 'Operation CREATE USER failed for 'user'@'ip'' on query. Default database: ''. Query: 'CREATE USER 'user'@'ip' IDENTIFIED WITH 'mysql_native_password' AS '*password''
我最近在主服务器和从服务器上创建了 2 个新的只读用户,所以我确定这是因为这个。
我也在状态中看到了这一点:
Slave_IO_Running: Yes
Slave_SQL_Running: No
对于如何解决这个问题,有任何的建议吗?
谢谢。
答案1
总结
STOP SLAVE;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
START SLAVE;
现在来看稍长一点的版本:
如果您首先在从服务器上手动创建用户,然后在主服务器上手动创建用户,则在主服务器上执行的 CREATE USER 命令已复制到从服务器上。尝试后续执行该语句失败,因为用户已经存在。因此,我建议修复“此问题”:
- 告诉复制引擎跳过该语句并继续
- 以后不要在复制设置中弄乱从属服务器
- 请务必阅读官方文档每当做一些你以前没有做过的事情时