美文网首页
mysql使用rsync进行主从同步

mysql使用rsync进行主从同步

作者: CaptainWhite | 来源:发表于2022-02-07 14:30 被阅读0次

    场景

    整个库的数据量非常大,使用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;
    

    相关文章

      网友评论

          本文标题:mysql使用rsync进行主从同步

          本文链接:https://www.haomeiwen.com/subject/kuikkrtx.html