mysql 主从中断 Last_Errno: 1396处理

本文介绍了一次因主库用户密码重置导致MySQL主从同步中断的问题及解决过程。通过在从库创建并授权用户,重启同步服务,成功恢复了主从同步。

一、 问题背景

给主库一个用户重置了一下密码,突然收到告警主从同步中断了...登上从库检查发现报错如下

mysql> show slave status\G;
...
Last_Errno: 1396
Last_Error: Error 'Operation ALTER USER failed for 'bakuser'@'localhost'' on query. Default database: ''. Query: 'ALTER USER 'bakuser'@'localhost' IDENTIFIED WITH 'mysql_native_password' AS '*401A96j9D7DFE8E2931E4EB2471108769258A6BB3''

检查一下主从库用户情况,发现原来从库没有这个用户,无法执行重置密码的命令所以同步报错了。

二、 解决方法

查看主库该用户权限情况

mysql> select user,host from mysql.user;
+-----------+------------+
| user      | host       |
+-----------+------------+
| bakuser | localhost  |
| mysql.sys | localhost  |
| root      | localhost  |
+-----------+------------+
7 rows in set (0.00 sec)

mysql> show grants for bakuser@'localhost';
+--------------------------------------------------------+
| Grants for bakuser@localhost                           |
+--------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'bakuser'@'localhost'   |
+--------------------------------------------------------+
1 row in set (0.00 sec)

在从库创建用户并授权

GRANT ALL PRIVILEGES ON *.* TO 'bakuser'@'localhost' IDENTIFIED BY 'xxx';

此时直接利用show slave status\G;检查会发现同步还是断的,报错跟之前一样。

还需要重新启动一下同步,再进行检查

mysql> stop slave;
Query OK, 0 rows affected (0.01 sec)

mysql> start slave;
Query OK, 0 rows affected (0.01 sec)

mysql> show slave status\G;
...
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

同步恢复

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hehuyi_In

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值