1. 程式人生 > >備份恢復工具xtrabackup安裝和使用的記錄

備份恢復工具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