千家信息网

XtraBackup的增量备份

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,实验场景:两个mysql实例,一个端口为3306,一个端口为3307。现在要在3306上做增量备份,并将备份恢复到3307上去。备份:A) 0级备份innobackupex --default-fil
千家信息网最后更新 2026年11月01日XtraBackup的增量备份

实验场景:

两个mysql实例,一个端口为3306,一个端口为3307。

现在要在3306上做增量备份,并将备份恢复到3307上去。

备份:

A) 0级备份
innobackupex --default-file=/usr/local/mysql/my.cnf --user=root --password=root --socket=/usr/local/mysql/mysql.sock /tmp/backup/zero --no-timestamp --parallel=4
B) 1级备份

1、操作mysql实例,增加数据

mysql -S /usr/local/mysql/mysql.sock -P 3306 -p

show databases;

use lxm;
create table t1 as select * from t;
2、基于0级备份创建1级备份
innobackupex --default-file=/usr/local/mysql/my.cnf --user=root --password=root --socket=/usr/local/mysql/mysql.sock --incremental /tmp/backup/one --incremental-basedir=/tmp/backup/zero --no-timestamp --parallel=4
C) 2级备份

1、继续操作mysql实例,增加数据

mysql -S /usr/local/mysql/mysql.sock -P 3306 -p

show databases;

use lxm;
create table t2 as select * from t;
2、基于1级备份创建2级备份
innobackupex --default-file=/usr/local/mysql/my.cnf --user=root --password=root --socket=/usr/local/mysql/mysql.sock --incremental /tmp/backup/two --incremental-basedir=/tmp/backup/one --no-timestamp --parallel=4


停mysql3307 清空/var/lib/mysql3307下的文件
service mysql3307 stop;
cd /usr/local/mysql3307
mv data data.bak


恢复:
A)预备增量备份
1、当应用0级备份恢复增量备份的时候记住要使用--redo-only参数,只做已提交事务,不回滚未提交事务。记住:如果已经回滚了未提交事务,那么就无法再应用增量备份。
innobackupex --defaults-file=/usr/local/mysql3307/my.cnf --apply-log --redo-only --use-memory=10M /tmp/backup/zero
2、将1级备份应用到0级备份
innobackupex --defaults-file=/usr/local/mysql3307/my.cnf --apply-log --redo-only --use-memory=10M /tmp/backup/zero --incremental-dir=/tmp/backup/one/
3、将2级备份应用到0级备份,因为是最后一个增量备份所以没有必要再加-redo-only,这样最后一个增量也被应用到全备上了。
innobackupex --defaults-file=/usr/local/mysql3307/my.cnf --apply-log --use-memory=10M /tmp/backup/zero --incremental-dir=/tmp/backup/two/
4、当恢复完增量备份,在一次应用0级备份回滚没有提交的事物,所以不需要加--redo-only参数
innobackupex --defaults-file=/usr/local/mysql3307/my.cnf --apply-log --use-memory=10M /tmp/backup/zero
B)还原增量备份
innobackupex --defaults-file=/usr/local/mysql3307/my.cnf --copy-back /tmp/backup/zero


检验恢复结果
修改恢复后的data目录的属组为mysql,起mysql3307,查看数据是否和mysql实例中的一样:
mysql -S /usr/local/mysql3307/mysql.sock -P 3307 -uroot -p
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| lxm |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.00 sec)

mysql> use lxm
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+---------------+
| Tables_in_lxm |
+---------------+
| t |
| t1 |
| t2 |
+---------------+
3 rows in set (0.00 sec)

mysql> select count(1) from t1;
+----------+
| count(1) |
+----------+
| 14 |
+----------+
1 row in set (0.00 sec)

mysql> select count(1) from t2;
+----------+
| count(1) |
+----------+
| 14 |
+----------+
1 row in set (0.00 sec)


备注:

增量备份(xtrabackup只会影响xtradb或者innodb的表,其他引擎的表在增量备份的时候只会复制整个文件,不会差异。)

备份 增量 应用 实例 事务 数据 参数 文件 时候 端口 必要 两个 事物 场景 备注 差异 引擎 目录 结果 全备 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中关村互联网 科技集团 网络科技有限互联网 互联网科技公司怎么样 易通互联网络科技有限公司 山东吉时兔互联网科技有限公司 科技与互联网的利与弊 福州新华互联网科技学校 知乎 汽车互联网创新科技园 互联网科技创新服务 世界互联网科技公司市值排名 恒生互联网科技指数跳水 广州市恰铎互联网科技有限公司 互联网科技圈年度人物 每天都有哪些好的互联网科技 互联网科技包装股份有限公司上市 广东鹅鹅鹅互联网科技有限公司 同城互联网络科技 科技互联网专业务虚会材料 青岛互联网科技园 知域互联网科技有限公司官网 深圳市人人互联网科技有限公司 南京欣网互联网络科技有限公司 北京路客互联网科技有限公司 今日互联网科技 互联网科技会 广西互联网科技公司 润盈互联网科技 保险科技服务互联网营销体系 互联网企业科技类企业如何做账 重庆科技产业互联网有哪些
0