[mysql] mariabackup增量备份数据库

增备测试

1. 使用命令,进行一次全备full_back_date

shell 复制代码
mariabackup -u root -p 123456 --backup --target-dir=/dbbackup/full_back_$(date +%F_%H%M%S)

2. 插入一些数据,进行第一次增备full_back_date_inc_date

sql 复制代码
insert into test2.product values (100,"黄金屋1",1,"c012");
insert into test2.product values (110,"小米之家1",1,"c007");
shell 复制代码
mariabackup -u root -p 123456 --backup --target-dir=/dbbackup/full_back_2025-01-13_214737_inc_date$(date +%F_%H%M%S) --incremental-basedir=/dbbackup/full_back_2025-01-13_214737

2. 再次插入数据,进行第二次增备

shell 复制代码
insert into test2.product values (200,"黄金屋2",2,"c012");
insert into test2.product values (220,"小米之家2",2,"c012");
shell 复制代码
mariabackup -u root -p 123456 --backup --target-dir=/dbbackup/full_back_2025-01-13_214737_inc_date$(date +%F_%H%M%S) --incremental-basedir=/dbbackup/full_back_2025-01-13_214737_inc_date2025-01-13_215125

[root@localhost dbbackup]# ll
total 12
drwx------. 11 root root 4096 Jan 13 21:47 full_back_2025-01-13_214737
drwx------. 11 root root 4096 Jan 13 21:51 full_back_2025-01-13_214737_inc_date2025-01-13_215125
drwx------. 11 root root 4096 Jan 13 21:53 full_back_2025-01-13_214737_inc_date2025-01-13_215314

恢复增备数据

1. 停机,模拟数据损坏

shell 复制代码
systemctl stop mariadb
mv /var/lib/mysql ./mysql$(date +%F%H%M%S)

#自定义的日志文件目录 如未修改可忽略
mv /mariadb_log_file/ ./mariadb_log_file$(date +%F%H%M%S)

2.准备全备数据

shell 复制代码
mariabackup --prepare --target-dir=/dbbackup/full_back_2025-01-13_214737/

3. 全备数据+第一次增备数据

shell 复制代码
mariabackup --prepare --target-dir=/dbbackup/full_back_2025-01-13_214737/ --incremental-dir=/dbbackup/full_back_2025-01-13_214737_inc_date2025-01-13_215125/

4. 全备数据+第一次增备数据+第二次增备数据

shell 复制代码
mariabackup --prepare --target-dir=/dbbackup/full_back_2025-01-13_214737/ --incremental-dir=/dbbackup/full_back_2025-01-13_214737_inc_date2025-01-13_215314/

5.恢复数据,修改目录权限

shell 复制代码
mariabackup --copy-back --target-dir=/dbbackup/full_back_2025-01-13_214737/
chown mysql:mysql -R /mariadb_log_file/
chown mysql:mysql -R /var/lib/mysql
systemctl start mariadb
相关推荐
笑衬人心。1 分钟前
Ubuntu 22.04 + MySQL 8 无密码登录问题与 root 密码重置指南
linux·mysql·ubuntu
萧曵 丶33 分钟前
Spring @TransactionalEventListener
java·数据库·spring·事务·transactional·异步
坤坤不爱吃鱼35 分钟前
【MySQL\Oracle\PostgreSQL】迁移到openGauss数据出现的问题解决方案
mysql·postgresql·oracle
胡斌附体36 分钟前
mobaxterm终端sqlplus乱码问题解决
数据库·乱码·sqlplus·字符集设置
moon66sun1 小时前
开源项目XYZ.ESB:数据库到数据库(DB->DB)集成
数据库·esb
欧阳有财1 小时前
[java八股文][Mysql面试篇]日志
java·mysql·面试
TDengine (老段)1 小时前
使用 StatsD 向 TDengine 写入
java·大数据·数据库·时序数据库·iot·tdengine·涛思数据
DarkAthena1 小时前
【GaussDB】深度解析:创建存储过程卡死且无法Kill会话的疑难排查
数据库·gaussdb
叁沐1 小时前
MySQL 03 事务隔离:为什么你改了我还看不见?
mysql
Gauss松鼠会1 小时前
GaussDB权限管理:从RBAC到精细化控制的企业级安全实践
大数据·数据库·安全·database·gaussdb