记一次mysql主从故障恢复(centos7,mysql5.7)

因线上项目上使用了主从读写分离,收到了主从同步告警,发现从从上读取到的数据与主数据库上的不一致:

1、使用show slave status\G,查看到seconds_behind_master大于0,并且有比较大的延时;

2、因磁盘空间有限,主数据库配置了expire_logs_days,从数据库还没有从主数据库同步完,就把主库的BINLOG日志给删除了;

恢复,因数据量比较小,直接从主库备份后,导入到从库:

mysqldump -q --set-gtid-purged=OFF --single-transaction --events --triggers --routines  -uroot -p --host=127.0.0.1 --databases evuser im  | gzip >1121.sql.gz

提示使用--set-gtid-purged=OFF表示,将在恢复时,不会再将主库的BINLOG日志从0位置为开始再同步,即清除了截止到导出来之前的BINLOG日志,恢复后,将会从导入之后的BINLOG位置进行同步。

3、恢复到从库:

mysql>source 1121.sql;

mysql>start slave;

 

你可能感兴趣的:(mysql)