记部署mysql主从同步报错Error_code: 1396

在部署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 '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' 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 '123456';

第三种情况:也就是我遇到的情况,我是直接更改了主从同步的位置,从主中最新的位置开始同步,然后就可以了

1.查看主节点binlog以及log_position

show master status;

2.从节点重新定位同步位置,并启动同步

change master to master_host='192.168.20.207',master_user='msg_repl',master_password='123456',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的结果)

重新定向后,重启节点同步,正常启动。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值