利用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
[root@zabbix-server 2017-05-22_07-24-07]# innobackupex --defaults-file='/etc/my.cnf' --user=root --password=zhagyilig@mysql --user-memory=2048M --no-timetamp --backup /opt/
prepare
[root@zabbix-server 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 xxx@xxx:/path/
3.在master创建复制用户
grant replication slave on *.* to 'rep'@'192.168.21.%' identified by 'replication';
flush privileges;
4.配置slave
[root@beiyong-server 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从库 结束。