mysql使用rsync进行主从同步

场景

整个库的数据量非常大,使用dump备份时间很久;主库可以暂停写入一段时间,故采用rsync同步数据制作主从的方式

  1. 主库已经有同步需要的账号
  2. 停止从库,删除从库下的数据
systemctl stop mysqld.service

rm -rf /home/mysql/*

  1. 主库全量rsync同步数据到从库(开启screen,时间比较久):
screen -R rsync
rsync -avz /home/mysql/   mysql@10.201.2.183::mysql  --password-file=/etc/rsync.pas
  1. 设置主库mysql只读
show global variables like "%read_only%";
set global read_only=1;
set global super_read_only=1;
flush tables with read lock;
flush privileges;


查看主库的信息(确保postion不变)
show master status; 

mysql-bin.xxx | xxxxx 

  1. 主库再rsync数据到从库
rsync -avz /home/mysql/   mysql@10.201.2.183::mysql  --password-file=/etc/rsync.pas
  1. 同步完数据,放开主库的写
unlock tables;
set global read_only=0;
set global super_read_only=0;
show global variables like "%read_only%";
#read_only     | OFF  
flush privileges;
  1. 从库删除uuid信息,启动从库,制作主从关系
登录从库:
rm -rf /home/mysql/auto.cnf
systemctl start  mysqld.service 
登录mysql:
CHANGE MASTER TO
  MASTER_HOST='10.201.2.183',
  MASTER_USER='repl',
  MASTER_PASSWORD='xxxx',
  MASTER_PORT=3306,
  MASTER_LOG_FILE='mysql-bin.xxxx',
  MASTER_LOG_POS=xxxx,
  MASTER_CONNECT_RETRY=10;

start slave;

show slave status\G;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容