参考文章:


在使用 mariabackup 前, 先安装

apt install mariabackup

完全备份

通过使用 mariabackup 进行完全备份

# 执行完整备份
mariabackup --backup \
--target-dir=存放备份文件的目录 \
--user=用户 \
--password=密码

恢复数据

从完全备份恢复之前,首先需要 --prepare 选项以使数据文件保持一致

mariabackup --prepare \
--target-dir=已备份的目录

恢复备份(需要以下步骤):

  1. 停止数据库进程
  2. 确保存储数据的目录为空
    存储数据目录一般为 /var/lib/mysql/

选项:

--copy-back 保留原始备份文件
--move-back 将备份文件移动到存储数据目录(备份目录将为空)

mariabackup --copy-back \
--target-dir=存放备份文件的目录

mariabackup 恢复数据库时,它会保留备份的文件和目录的权限
保险起见, 手动修改目录及其文件的权限

chown -R mysql:mysql 数据目录

增量备份

进行增量备份前, 首先得进行一次完全备份

开始备份增量更改:

--target-dir 存放增量更改的目录
--incremental-basedir 基于的完整备份目录

mariabackup --backup \
--target-dir=存放增量更改的目录 \
--incremental-basedir=完整备份目录 \
--user=用户 \
--password=密码

如果还要进行额外的增量备份
可以将上一次增量备份的目标目录作为下一次增量备份的增量基目录

mariabackup --backup \
--target-dir=存放增量更改的目录 \
--incremental-basedir=上一次备份增量更改的目录 \
--user=用户 \
--password=密码

恢复数据

(适用于 MariaDB 10.2 及后续版本)

恢复前的准备操作:

  1. 准备基础备份
  2. 将增量更改应用到基本完整备份 (重复此操作, 依次进行, 直到最后一个增量备份)
# 准备基础备份
mariabackup --prepare \
--target-dir=基础的完全备份目录
# 将增量更改应用到基本完整备份
mariabackup --prepare \
--target-dir=基础完整备份目录 \
--incremental-dir=增量备份目录

开始恢复:

通过上述的准备工作, 增量更改已全部合并到完全备份中
因此, 这里恢复数据的操作与完全备份数据操作一致

  1. 停止数据库进程
  2. 确保存储数据的目录为空
    存储数据目录一般为 /var/lib/mysql/

选项:

--copy-back 保留原始备份文件
--move-back 将备份文件移动到存储数据目录(备份目录将为空)

mariabackup --copy-back \
--target-dir=存放备份文件的目录

mariabackup 恢复数据库时,它会保留备份的文件和目录的权限
保险起见, 手动修改目录及其文件的权限

chown -R mysql:mysql 数据目录
最后修改:2024 年 03 月 04 日
如果觉得我的文章对你有用,请随意赞赏