1. 程式人生 > >Xtrabackup搭建主從

Xtrabackup搭建主從

xtrabackup

利用innobackupex搭建MySQL從庫

知識準備:

1、在備份InnoDB的過程中,記錄的變更保存於xtrabackup_logfile文件,所以在prepare(–apply-log)的時候,需要重放該部分數據到表空間。
2、如果庫中只使用了innodb或者XtraDB引擎,恢復的時候使用xtrabackup_binlog_pos_innodb文件確定pos信息;
3、如果還有其他引擎(如MyISAM),恢復的時候使用xtrabackup_binlog_info確定pos信息;
4、innobackupex的過程圖示

技術分享

將xtrabackup_logfile中的日誌進行重做

技術分享

1.這主庫上進行全備,然後進行prepare
backup

[[email protected] 2017-05-22_07-24-07]# innobackupex --defaults-file=‘/etc/my.cnf‘ --user=root [email protected]
/* */ --user-memory=2048M --no-timetamp --backup /opt/

prepare

[[email protected] opt]#innobackupex  --defaults-file=‘/etc/my.cnf‘ --apply-log  2017-05-26_15-53-59/

2.將備份進行壓縮,拷貝到slave

tar -czvf 2017-05-26_15-53-59-mysql.tar.gz 2017-05-26_15-53-59/  
scp mysql_full_backup.tar.gz [email protected]:/path/

3.在master創建復制用戶

grant replication slave on *.* to [email protected]%‘ identified by ‘replication‘;   
flush privileges;

4.配置slave

[[email protected] data]# cat xtrabackup_binlog_info 
mysql-bin.000006		216752542  

stop slave;

CHANGE MASTER TO  
MASTER_HOST=‘192.168.21.161‘, 
MASTER_PORT=3306,
MASTER_USER=‘rep‘, 
MASTER_PASSWORD=‘replication‘, 
MASTER_LOG_FILE=‘mysql-bin.000006‘,
MASTER_LOG_POS=216752542; 

start slave;

show slave status\G
*************************** 1. row ***************************
           Slave_IO_State: Waiting for master to send event
              Master_Host: 192.168.21.161
              Master_User: rep
              Master_Port: 3306
            Connect_Retry: 60
          Master_Log_File: mysql-bin.000006
      Read_Master_Log_Pos: 216816993
           Relay_Log_File: beiyong-server-relay-bin.000002
            Relay_Log_Pos: 64734
    Relay_Master_Log_File: mysql-bin.000006
         Slave_IO_Running: Yes
        Slave_SQL_Running: Yes
 ....


//利用innobackupex搭建MySQL從庫 結束。


本文出自 “zhagyilig” 博客,請務必保留此出處http://zhagyilig.blog.51cto.com/10900500/1931010

Xtrabackup搭建主從