在部署mysql主从同步中,从节点执行 start slave 后,出现以下错误
Slave SQL for channel '': Error 'Operation CREATE USER failed for 'msg_mycat'@'192.168.20.%'' on query. Default database: ''. Query: 'CREATE USER 'msg_mycat'@'192.168.20.%' IDENTIFIED WITH 'mysql_native_password' AS '*6BB4837EBEE4568DDA7DC67ED2CA2AD9' PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK', Error_code: 1396
讯享网
错误标号: Error_code: 1396
网上百度了一大圈后,都没有解决我的问题,但这里还是把网上的方法给罗列一遍,可能每个人遇到的情况不一样:
第一种情况:用户已存在,所以报错
查询mysql所有用户命令:
讯享网SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
第二种情况:用户存在,但是没有权限
查询具体用户权限命令
show grants for 'msg_mycat'@'192.168.20.%';
赋权给用户
讯享网grant select,update,insert,delete on *.* to 'msg_mycat'@'192.168.20.%';
至于针对上面两种情况有的人说把用户直接删除 在创建然后赋权就没问题了,但是我试了还是不行。这里也贴出创建用户命令
create user 'msg_repl'@'192.168.20.%' identified by '';
第三种情况:也就是我遇到的情况,我是直接更改了主从同步的位置,从主中最新的位置开始同步,然后就可以了
1.查看主节点binlog以及log_position
讯享网show master status;

2.从节点重新定位同步位置,并启动同步
change master to master_host='192.168.20.207',master_user='msg_repl',master_password='',master_log_file='mysql-bin.000002',MASTER_LOG_POS=153; start slave;
master_host为主节点IP
master_user为同步用户账号
master_password为账户密码
master_log_file为主节点binlog日志名称
MASTER_LOG_POS为同步数据位置(参考第一步show master status的结果)
重新定向后,重启节点同步,正常启动。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/127296.html