备份恢复工具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)

下面的方法是在测试环境没网的情况下安装的:

rpm -ivh libev-4.03-3.el6.x86_64.rpm

rpm -ivh percona-xtrabackup-24-2.4.11-1.el6.x86_64.rpm

备注:这两个包都是centos6上的,但在centos7上也安装成功了。

这两个包可以网上下载。然后使用filezilla上传到测试环境上。下载地址前面已经提供。

如果安装percona-xtrabackup-24-2.4.11-1.el6.x86_64.rpm这个包失败,请先安装下面两个包,再安装这个包:

rpm -ivh percona-toolkit-2.2.6-1.noarch.rpm --force --nodeps         #前面已提供下载地址

rpm -ivh perl-IO-Socket-SSL-2.056-1.fc28.noarch.rpm --force --nodeps

下载地址:https://pan.baidu.com/s/1fadL26_EfGDItqWMuzmRwQ

二、全量备份和恢复

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="p@ssw0rd" --backup /dbback/temp/

3.将备份下来的文件拷贝到另一台测试数据库所在的机器:

scp -r 2018-12-24_10-28-15/ root@172.16.173.10:/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)恢复完成后,授予权限:

chown -R mysql.mysql /var/lib/mysql

(5)启动数据库

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

如果数据库还是启动不起来,请查看日志,看一下报错原因:

tail /var/log/mysqld.log

三、指定数据库备份和恢复

1.指定数据库备份的命令:(如备份zqzwfwsys库)

innobackupex --defaults-file=/etc/my.cnf --databases 'zqzwfwsys mysql performance_schema' --user=root --password="p@ssw0rd" --backup /dbback/temp/
2.

 

posted @ 2018-12-24 13:00  小白的日常  阅读(463)  评论(0编辑  收藏  举报