一、安裝
提供的是在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.備份全量數據庫的命令:
innobackupex --defaults-file=/etc/my.cnf --user=root --password="p@ssw0rd" --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('Ideal123@WSX') where user='root';
flush privileges;
exit;
註釋掉/etc/my.cnf下skip-grant-tables保存退出。
重啓mysql