mysql从库故障恢复步骤(删除数据重新同步)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql从库故障恢复步骤(删除数据重新同步)相关的知识,希望对你有一定的参考价值。

1、查看slave状态

show slave statusG
2、停止slave状态,清除从库主从信息

stop slave;
reset slave all;

3、将从库已同步主库数据库删除

DROP DATATBASE DBNAME;

4、备份主数据库数据
mysqldump -uusername -ppassword --set-gtid-purged=OFF --single-transaction --master-data=1 dbname > dbname.sql

--single-transaction 启用一个事务来进行备份操作,备份过程中不会对数据库进行锁操作
--master-data=1 备份必须加上此参数。当这个参数的值为1的时候,mysqldump出来的文件就会包括CHANGE MASTER TO这个语句,CHANGE MASTER TO后面紧接着就是file和position的记录,在slave上导入数据时就会执行这个语句,salve就会根据指定这个文件位置从master端复制binlog

5、将备份文件导入到从服务器
将备份过来的数据导入到从服务器

CREATE DATABASE DBNAME;
source /dbname.sql

导入之后查看数据是否导入成功

6、查看主服务器备份数据MASTER_LOG_FILE地址及MAST_LOG_POS位置
cat dbname.sql |grep "MASTER_LOG_FILE"
-- CHANGEMASTER TO MASTER_LOG_FILE=‘mysql-bin.000015‘, MASTER_LOG_POS=7334223423;

7、执行同步语句,这里填写的binlog日志文件及偏移量位置为第6步中的MASTER_LOG_FILE地址MAST_LOG_POS的值
CHANGE MASTER TO MASTER_HOST=‘192.12.122.23‘,MASTER_USER=‘rep‘,MASTER_PASSWORD=‘slavepass‘,MASTER_LOG_FILE=‘mysql-bin.000015‘,MASTER_LOG_POS=7334223423;

8、启动slave
slave start;

9、查看slave状态
show slave statusG
查看slave两个线程是否为YES状态
Slave_IO_Running:Yes<br/>Slave_SQL_Running:Yes

以上是关于mysql从库故障恢复步骤(删除数据重新同步)的主要内容,如果未能解决你的问题,请参考以下文章

Redis主从故障模拟及恢复

MySQL 主从复制

Redis哨兵集群主库故障数据恢复思路 #yyds干货盘点#

MySQL主从延迟复制实践及生产故障案例恢复实践

MySQL 主从复制备份策略

实现MySQL半同步架构