1.问题描述

配置完Mysql的主从复制以后,发现将主机重启后,Mysql的主从复制功能失效

 Slave_IO_Running: Yes
 Slave_SQL_Running: NO

2.查找问题

通过查找/etc/mysql/data/error.log发现,mysql库的user表损坏了,如图:

enter image description here

3.解决问题

既然user表损坏了那么就将其修复一下,登录mysql,修复user表

mysql> use mysql
mysql> repair table user;

4.重新设置主从同步

1.一种是通过跳过事务来达到主从同步

先停止slave

stop slave;

设置跳过1个事务

set global sql_slave_skip_counter=1;

开启slave

start slave

查看主从同步状态

show slave status \G;

主从已同步

2.另一种是通过查看主库日志节点,从库设置主库相关节点信息

查看主库日志节点信息,记住相关参数

show master status;

先停止slave

stop slave;

然后设置主库相关信息

     CHANGE MASTER TO
     MASTER_HOST='172.18.0.2',
     MASTER_USER='wly',
     MASTER_PASSWORD='root',
     MASTER_PORT=3306,
     MASTER_LOG_FILE='mysql-bin.000006',
     MASTER_LOG_POS=489;

开启slave

start slave

查看主从同步状态

show slave status \G;

主从已同步

5.主机重启后主从依然同步

重启主机后,登录从库,查看主从同步状态

    show slave status \G;

发现主从状态是同步的,如图:

enter image description here

说明造成主从重启不同步的原因就是user表的损坏,修复后即可。

访问我的达人课

我的微信公众号

Logo

更多推荐