備份恢復工具xtrabackup安裝和使用的記錄
一、安裝
提供的是在centos7上安裝的方法:
包下載:
wget https://www.percona.com/downloads/percona-toolkit/2.2.6/RPM/percona-toolkit-2.2.6-1.noarch.rpm (這個可能會用到,但我未使用到)
wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.12/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.12-1.el7.x86_64.rpm
wget http://rpmfind.net/linux/epel/7/x86_64/Packages/l/libev-4.15-3.el7.x86_64.rpm
包安裝:
rpm -ivh libev-4.15-3.el7.x86_64.rpm
yum install perl-Digest-MD5 -y
rpm -ivh percona-xtrabackup-24-2.4.12-1.el7.x86_64.rpm
追加其它centos版本上的安裝方法:
先到https://www.percona.com/downloads/XtraBackup/LATEST/這個網站下載對應系統對應版本的percona-xtrabackup的rpm包,然後執行rpm -ivh安裝這個包,會報錯,並告知相應的依賴包,下載安裝這些依賴包就可以。我認為它需要的依賴就兩個:perl-Digest-MD5和libev-4
perl-Digest-MD5這個使用yum安裝就可以了。
libev-4的下載地址為:http://rpmfind.net/linux/rpm2html/search.php?query=libev(x86-64)
二、使用
1.建立一個用於備份的使用者(這一步看情況使用,如果需要的話,將第二步中使用者替換成這個備份使用者):
grant reload,process,lock tables,replication client on *.* to 'pxb'@'localhost' identified by '123456' with grant option;
flush privileges;
2.備份全量資料庫的命令(innodb引擎不需要停庫):
innobackupex --defaults-file=/etc/my.cnf --user=root --password="[email protected]" --backup /dbback/temp/
3.將備份下來的檔案拷貝到另一臺測試資料庫所在的機器:
scp -r 2018-12-24_10-28-15/ [email protected]:/var/lib/
4.將全量備份恢復到資料庫中:
(1)準備(prepare)一個完全備份:
innobackupex --apply-log /var/lib/2018-12-24_10-28-15/
(2)關閉資料庫,並刪除資料檔案:
service mysqld stop
rm -rf /var/lib/mysql
mkdir /var/lib/mysql
(3)執行恢復操作:
innobackupex --defaults-file=/etc/my.cnf --copy-back --rsync /var/lib/2018-12-24_10-28-15/
(4)恢復完成後,做相應的配置修改:
vim /etc/my.cnf
在[mysqld]下新增:
default-storage-engine=INNODB
儲存退出。
chown mysql.mysql /var/lib/mysql
chown mysql.mysql -R /var/lib/mysql/*
(5)啟動資料庫
service mysqld stop
service mysqld start
(6)資料庫root密碼修改
vim /etc/my.cnf
在[mysqld]下新增:
skip-grant-tables
儲存退出。
mysql -uroot
update mysql.user set Password=password('[email protected]') where user='root';
flush privileges;
exit;
註釋掉/etc/my.cnf下skip-grant-tables儲存退出。
重啟mysql