1.下載並安裝 percona-xtrabackup-24-2.4.6-2.el6.x86_64.rpm
2.如果安裝失敗 逐個安裝以下rpm
yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL
3.如果安裝perl-DBD-MySQL與mysql有衝突:
下載並安裝 MySQL-shared-compat-5.6.35-1.el6.x86_64.rpm
4.再次安裝percona-xtrabackup-24-2.4.6-2.el6.x86_64.rpm成功
增量備份的原理就是,把增量目錄下的數據,整合到全量目錄下,然後在進行,全數據量的還原。
全量備份
1.在master上備份所需數據庫
innobackupex --default-file=/etc/my.cnf --user=root --password=root --databases="sweetwater" /mysql-backup/
2.將生成的文件複製到slave所在主機上
3.停止slave的mysql服務
4.清除必要的mysql文件
rm -rf /var/lib/mysql/ibdata*
rm -rf /var/lib/mysql/ib_logfile*
rm -rf /var/lib/mysql/sweetwater
rm -rf /var/lib/mysql/ib_buffer_pool
rm -rf /var/lib/mysql/xtrabackup_info
5.執行
innobackupex --user=root --copy-back --force-non-empty-directories /mysql-backup/master_backup/2017-03-07_20-59-49/
6.設置mysql文件的權限
chown -R mysql:mysql /var/lib/mysql
7.啓動mysql服務
增量備份
1.master增量備份
innobackupex --default-file=/etc/my.cnf --user=root --password=root --databases="sweetwater" --incremental /mysql-backup --incremental-basedir=/mysql-backup/2017-03-07_21-10-22
(最新的同步成功的目錄)
2.將生成的文件複製到slave所在主機上
innobackupex --default-file=/etc/my.cnf --user=root --apply-log --redo-only /mysql-backup/master_backup/2017-03-07_20-59-49/
innobackupex --default-file=/etc/my.cnf --user=root --apply-log --redo-only /mysql-backup/master_backup/2017-03-07_20-59-49/ --incremental-dir=/mysql-backup/master_backup/2017-03-07_21-26-38/
3.停止slave的mysql服務
4.清除必要的mysql文件
rm -rf /var/lib/mysql/ibdata*
rm -rf /var/lib/mysql/ib_logfile*
rm -rf /var/lib/mysql/sweetwater
rm -rf /var/lib/mysql/ib_buffer_pool
rm -rf /var/lib/mysql/xtrabackup_info
rm -rf /var/lib/mysql/xtrabackup_binlog_pos_innodb
5.執行
innobackupex --user=root --copy-back --force-non-empty-directories /mysql-backup/master_backup/2017-03-07_20-59-49/
6.設置mysql文件的權限
chown -R mysql:mysql /var/lib/mysql
7.啓動mysql服務