mysql innoback,innobackex工具备份mysql数据

本文介绍了如何使用Innobackupex工具对MySQL数据库进行全量和增量备份,并详细阐述了备份过程、授权、恢复步骤,包括模拟数据丢失后的恢复操作,以及增量备份的实施和顺序恢复。该教程适用于需要进行数据库安全管理的场景。
摘要由CSDN通过智能技术生成

innobackex工具备份mysql数据

xtrbackup只能用于备份innodb引擎的数据库,而innobackex 既可以备份innodb引擎的数据库,也可以备份myisam引擎的数据库。备份时也可分为全量备份和增量备份

一、安装innobackex

使用官网的yum源,方便安装

[root@axiang-02 ~]# rpm -ivh https://www.percona.com/redir/downloads/percona-release/redhat/percona-release-0.1-4.noarch.rpm

[root@axiang-02 ~]# yum install percona-xtrabackup

二、全量备份mysql

2.1、创建并授权备份用户

我们可以直接授权all权限,但是不符合安全原则

mysql -uroot -paxianglinux

grant reload,lock tables,replication client on *.* to 'backupuser'@'localhost' identified by 'axianglinux';

flush privileges;

权限为reload,lock tables,replication client

2.2、全部备份

[root@axiang-02 ~]# mkdir /data/backup

[root@axiang-02 ~]# innobackupex --defaults-file=/etc/my.cnf --user=backupuser --password='axianglinux' -S /tmp/mysql.sock /data/backup

defaults-file=/etc/my.cnf指定配置文件位置是为了获得datadir位置

备份完成后,会在指定的保存目录中生成一个时间戳目录

201708282020_83.png

如图,备份失败也会出现

三、全量备份恢复

3.1、模拟误删除MySQL数据目录故障

[root@axiang-02 ~]# /etc/init.d/mysqld stop

[root@axiang-02 ~]# mv /data/mysql /data/mysql.bak

[root@axiang-02 ~]# mkdir /data/mysql

[root@axiang-02 ~]# chown -R mysql:mysql /data/mysql

201708282149_581.png 如果权限没给 -R 则恢复后无法开启MySQL服务。如上图

3.2、恢复

[root@axiang-02 ~]# ls /data/backup/

2017-08-28_20-47-25

[root@axiang-02 ~]# innobackupex --use-memory=512M --apply-log /data/backup/2017-08-28_20-47-25/

[root@axiang-02 ~]# innobackupex --defaults-file=/etc/my.cnf --copy-back /data/backup/2017-08-28_20-47-25/

[root@axiang-02 ~]# /etc/init.d/mysqld start

Starting MySQL. SUCCESS!

四、增量备份

之前我们已经进行了全量备份,经过操作,一段时间后重新全量备份的话,需要耗费的资源较多,这时我们就可以使用增量备份了。

两次增量备份

[root@axiang-02 ~]# rm -rf /data/backup/*

[root@axiang-02 ~]# innobackupex --defaults-file=/etc/my.cnf --user=backupuser --password='axianglinux' -S /tmp/mysql.sock /data/backup

[root@axiang-02 ~]# mysql -uroot -paxianglinux -e 'drop database bbs;'

[root@axiang-02 ~]# innobackupex --defaults-file=/etc/my.cnf --user=backupuser --password='axianglinux' -S /tmp/mysql.sock --incremental /data/backup --incremental-basedir=/data/backup/2017-08-28_23-18-20

[root@axiang-02 ~]# mysql -uroot -paxianglinux -e 'drop database blog;'

[root@axiang-02 ~]# innobackupex --defaults-file=/etc/my.cnf --user=backupuser --password='axianglinux' -S /tmp/mysql.sock --incremental /data/backup --incremental-basedir=/data/backup/2017-08-28_23-24-32

在每个备份的时间戳目录下面都有一个检查点。可以确定恢复顺序

201708282222_431.png

五、顺序恢复

模拟故障,移除原有数据

[root@axiang-02 ~]# /etc/init.d/mysqld stop

[root@axiang-02 ~]# mv /data/mysql /data/mysql.backup

[root@axiang-02 ~]# mkdir /data/mysql

[root@axiang-02 ~]# chown -R mysql:mysql /data/mysql

恢复

innobackupex --apply-log --redo-only /data/backup/2017-08-28_23-18-20

innobackupex --apply-log --redo-only /data/backup/2017-08-28_23-18-20 --incremental-dir=/data/backup/2017-08-28_23-24-32

innobackupex --apply-log /data/backup/2017-08-28_23-18-20 --incremental-dir=/data/backup/2017-08-28_23-27-39

innobackupex --copy-back /data/backup/2017-08-28_23-18-20/

chown -R mysql:mysql /data/mysql

/etc/init.d/mysqld start

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值