使用innobackupex进行Mysql全量备份恢复

使用innobackupex进行Mysql全量备份恢复

安装innobackupex

//安装yum扩展源
root@dl-001 ~]# rpm -ivh  http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm

//安装innobackupex
[root@dl-001 ~]# yum install -y percona-xtrabackup

全量备份

创建Mysql用户,并赋予权限

[root@dl-001 ~]# mysql -uroot -p'mysqldingle991124'
Welcome to the MySQL monitor.

mysql> grant RELOAD, LOCK TABLES, REPLICATION CLIENT on *.* to 'bakuser'@'localhost' identified by '123456';

Query OK, 0 rows affected (0.13 sec)
mysql> flush privileges;    //刷新
Query OK, 0 rows affected (0.05 sec)
mysql> quit
Bye

创建备份文件,并备份

[root@dl-001 ~]# mkdir /data/backup
[root@dl-001 ~]# innobackupex --defaults-file=/etc/my.cnf --user=bakuser --password='123456' -S /tmp/mysql.sock /data/backup

说明:
–defaults-file:指定mysql的配置文件(该参数必须放在首位)
–user:指定用于备份的mysql用户
–password:mysql用户密码
-S:=socket,指定MySQL的socket文件(也可以使用-h,该参数非必须!)


查看备份文件

[root@dl-001 ~]# cd /data/backup/
[root@dl-001 backup]# ls
2018-01-17_12-08-43
[root@dl-001 backup]# ls 2018-01-17_12-08-43/
backup-my.cnf  mysql               test                    xtrabackup_info
ibdata1        performance_schema  xtrabackup_checkpoints  xtrabackup_logfile

说明: ibdata1为核心文件,其中存放的是:储存格式;INNODB类型数据状态下,ibdata用来储存文件的数据,而库名的文件夹里面的那些表文件只是结构而已。


恢复数据库

恢复之前需要停止Mysql服务

[root@dl-001 backup]# /etc/init.d/mysqld stop
Shutting down MySQL.. SUCCESS! 

恢复准备

[root@dl-001 backup]# mv /data/mysql /data/mysql.bak
[root@dl-001 backup]# mkdir /data/mysql
[root@dl-001 backup]# chown mysql:mysql /data/mysql

说明:进行备份前将原/data/mysql中文件清空,并对该文件进行更名,然后重建该目录并更改权限。


恢复

[root@dl-001 backup]# innobackupex --use-memory=256M --apply-log /data/backup/2018-01-17_12-08-43

说明: 进行数据库恢复时,先匹配用于恢复的数据文件。
–use-memory:指定执行数据库恢复操作时的运行内存(添加该选项的目的通过指定其运行内存来加快恢复速度,可不加该参数)。
–apply-log:指定要恢复的数据文件(来自备份文件)

[root@dl-001 backup]# innobackupex --defaults-file=/etc/my.cnf --copy-back /data/backup/2018-01-17_12-08-43/

说明:–copy-back:指定用于恢复的数据文件目录

你可能感兴趣的:(Mysql数据库及主从复制)