傳統 mysqldump 備份需鎖表,影響線上業務。Percona XtraBackup 支援 InnoDB 熱備份,無需鎖表、不阻塞寫入,是生產環境異地同步的首選工具。本文記錄基於 XtraBackup 2.0.7 的完整備份、壓縮、傳輸、恢復與主從同步流程。
yum install perl-DBD-mysqlwget https://www.percona.com/downloads/XtraBackup/XtraBackup-2.0.7/RPM/rhel5/x86_64/percona-xtrabackup-2.0.7-552.rhel5.x86_64.rpm
rpm -ivh percona-xtrabackup-2.0.7-552.rhel5.x86_64.rpminnobackupex --user=yourDBuser --password=MaGiCdB1 --defaults-file=/etc/my.cnf /backup/dir
/backup/dir 為任意足夠大的分區目錄
# 壓縮
tar czvf backdir.gz backup
# 跨機器傳輸
scp backdir.gz target_ip:/target/dir
cd /target/dirtar xzvf backdir.gz/etc/my.cnf 含 datadir=/target/dirinnobackupex --apply-log /target/dirinnobackupex --copy-back --defaults-file=/etc/my.cnf /target/dirCHANGE MASTER TO ...; START SLAVE;)show slave status\G 中 Slave_IO_Running 與 Slave_SQL_Running 均為 Yes