MySQL主从复制断开恢复过程

新接手一个项目,但该项目的mysql数据库主从复制出现故障,之前项目负责人未解决,也是接手过来遇到的第一个坑,网上跳过错误的方式并没有解决该问题,故决定重做主从,恢复全量数据。

 一、备份主库数据

mysqldump --socket=/var/lib/mysql/mysql.sock --single-transaction --master-data=2 -uuser -ppasswd -h xxx.xxx.xxx.xxx --all-databases > dbbak_20220318.sql

数据量很大,备份前需注意剩余空间大小,把备份好的数据传到从库主机

 二、从库恢复数据

登上从库执行:source /testfile/dbbak_20220318.sql

执行时间根据数据量的多少还有机器配置,我这20多G执行了40分钟左右

确认master备份数据最后的mysql-bin和pos信息:

 三、主从同步

1、停止slave

stop slave;

2、同步数据

change master to master_host='xxx.xxx.xxx.xxx',master_user='user',master_password='passwd',master_port=3306,master_log_file='master-bin.000678',master_log_pos=587219620,master_connect_retry=30;

3、启动slave

start slave;

4、检测主从同步状态

show slave status\G

 四、mysqldump参数说明

--socket、-u、-p、-h:指定mysql的sock文件、用户名、密码、主机地址
--single-transaction:保证一个事务中所有相同的查询读取到同样的数据,其他innodb引擎的线程修改了表的数据并提交,对该dump线程的数据并无影响,不会锁表
--master-data=2:对于生成的sql文件产生备份时刻的mysql-bion的信息和pos信息
--all-databases:备份全库 

 

【参考:https://blog.csdn.net/qq_35767346/article/details/88947412】

posted @ 2022-03-18 17:47  sxFu9528  阅读(1139)  评论(0编辑  收藏  举报