不停业务搭建MySQL从库

网上介绍的从库搭建一般需要停止主库业务,对业务持续性存在影响,本文将在不停业务不停主库的情况下,完成从库的初始化及binlog同步配置,适用于传统自建mysql及云环境下的mysql从库的搭建。

关键:有主库全备文件及备份时刻的position;
全库备份参考:
主库导出,记录 主库binlog及position
mysqldump -uroot -p123456 -h10.1.1.11 -B A_db --master-data=2 --single-transaction --quick --set-gtid-purged=OFF --skip-add-drop-table --force >/home/slavedbbak/ yqjp_db _$(date +%F).sql

1、准备一个全新的从库,注意版本、字符集、gtid、sql_mode之类的与主库保持一致;
2、根据上述参考,完成全库备份文件的生成(根据参考脚本备份的文件里会记录主库binlog文件名及备份时刻position)
3、全量导入备份文件
mysql -uroot -p <all_bak.sql
4、主库上的从库账号配置
grant replication slave on *.* to 'abc'@'%' identified by '123456';
5、从库上的配置
mysql>stop slave;
mysql> change master to master_host=' 10.1.1.11 ', master_port= 3306 , master_user=' abc ',master_password=' 123456 ', master_log_file=' mysql-bin.000002 ',master_log_pos= 29854745 ;
mysql>start slave;

PS:如果配置完成后发现仍有部分数据出入,可能原因:配置顺序出错,从库调整同步配置之前没有停止slave,导致配置过程中同步过来的部分数据被删除,处理办法:

1、stop slave;

2、重新生成备份文件

3、重置从库(删掉需要同步的库)

4、导入新生成的备份文件

5、从新生成的备份文件中获取position,重新配置主从同步;

6、start slave;

猜你喜欢

转载自blog.csdn.net/qq_40809549/article/details/80881869