【Mysql】主从不一致恢复(详细简单操作)

1、备份主节点的mysql

mysqldump -h127.0.0.1 -uroot -p123456 --all-databases --master-data=1 --single-transaction --max_allowed_packet=4G > all.sql
  • --master-data=1        #将主服务器的二进制日志名称和位置信息包含在备份文件中,便于恢复主从
  • --single-transaction   #防止锁表,以便在备份过程中可以正常进行写操作,不会阻塞其他客户端。

 再用scp命令拷贝文件到从节点上

2、获取bin-log文件和pos值

cat all.sql | grep "CHANGE MASTER TO MASTER_LOG_FILE"

3、 登录从节点Mysql

#停止主从同步
stop slave
#重新设置主从同步的位置
reset slave
#删掉从库数据库,msyql自带数据库不需要删掉(information_schema,mysql,performance_schema,sys)
drop database 库名;
#导入数据
source all.sql
#重新配置主从同步的位置,具体的master_log_file以及master_log_pos内容可以从备份文件中获取
change master to master_host='192.168.0.91',master_port=3306,master_user='root',master_password='123456',master_log_file='xxx',master_log_pos=xxx;
#启动主从同步
start slave;
#检查主从同步状态
show slave status;

你可能感兴趣的:(数据库,mysql,数据库)