MySQL不中断在线添加从库

  1. #全备份(这数据不能直接用的,或许有未提交的事务或者事务还在日志里并未写入硬盘)
  2. $Master: innobackupex --user='root' --password='$Password' --defaults-file=/etc/my.cnf /data/test/fulltest --socket=/tmp/mysql.sock 
  3.  
  4. #apply-log(apply log后的数据才可直接使用)
  5. $Master: innobackupex --apply-log /data/test/fulltest/2015-06-04_16-41-51/
  6.  
  7. #恢复
  8. $Slave:清空New_Slavedatadir
  9.  
  10. #移动ib_logfile文件到MySQL的log文件夹
  11. $Slavemv ib_logfile* /path/to/mysql/log/
  12.  
  13. #修改my.cnf
  14. 修改server-id=xx
  15.  
  16. #启动mysql服务
  17. $Slaveservice mysqld start
  18.  
  19. #查看文件xtrabackup_binlog_info查看binlog位置并change master;
  20. $SlaveCHANGE MASTER TO MASTER_HOST='$masterip', MASTER_PORT=3306,MASTER_USER='$repl_user',MASTER_PASSWORD='$slavepass',MASTER_LOG_FILE='$bin.000001',MASTER_LOG_POS=481;
  21.  
  22. #启动从库服务
  23. $Slaveslave start

参考:percona-xtrabackup-setting_up_replication

2 Comments

  1. 厉害了。以后就可以不用断库了

  2. 这样就可以做到不中断是吗