2015.12.9 mysql 主从异常处理过程

时间:2022-11-05 18:54:26

参考文档

http://www.111cn.net/database/mysql/58979.htm

 

mysql  版本

mysql  -V

mysql  Ver 14.14 Distrib 5.6.25, for Linux (x86_64) using  EditLine wrapper

公司mysql主从服务器断了

故障发生时间:2015-12-08 19:51:35

故障恢复时间:2015-12-09 12:22:38

 

1.收到同事反馈  mysql  主从断开了

 

2.登录slave   查看结果 如下 的确挂了

2015.12.9 mysql 主从异常处理过程

 

 

3.得到的相关信息有

Master_Host:192.168.66.6

Master_User:repl

Master_Port:10010

Master_Log_File: master-bin.000015

Slave_IO_Running: Yes

Slave_SQL_Running: NO

Last_Error:2015-12-08 19:51:35 30836 [ERROR] Slave SQL: Worker 3 failed executing transaction '' at master log master_bin.000015, end_log_pos 686772256; Error 'Operation CREATE

USER failed for 'zabbix'@'localhost'' on query. Default database: ''. Query: 'CREATE USER 'zabbix'@'localhost'', Error_code: 1396

Executed_Gtid_Set:30f53a54************************:1-23

Master_Auto_Position:1

 

 

4.恢复操作

登录slave

stop slave;
reset slave all;
set global  gtid_purged=30f53a54************************:1-23;

change master to master_host='192.168.66.6', master_user='repl', master_password='mysql', master_port='10010',master_log_file='master_bin.000015', master_auto_position=1;

start slave;
show slave status\G;

主从状态恢复

 

5.故障原因

http://blog.sina.com.cn/s/blog_439f80c40100yoln.html

建用户的时候报告这个错误,原因是mysql中已经有了这个用户,可以从mysql.user中直接删除,然后刷新权限,再建用户就不会有这个问题了。如果是drop user先,那么mysql内部应该会自动刷新一下,那么再建也不会有这问题了。

一个老外遇到了这个问题,给了个例子。他就是没有刷新权限,才导致了这问题。

2015-12-08 19:51:35 我们之前已经创建了一个查询mysql 主从状态的 查询帐号zabbix  无密码   这个点对这个帐号赋予了其他的权限  查询mysql 的状态  但没有刷新权限 导致问题出现

 

6.后期避免

对于 mysql  无论 master  slave  的操作 都需慎重  

如果对从进行修改数据,那么很可能从在执行主的bin-log时出现错误而停止同步,这个是很危险的操作。所以一般情况下,非常小心的修改从上的数据。