使用 maria backup 完整备份和恢复数据库

Mariabackup介绍

Mariabackup是MariaDB的一个备份工具,可以对MariaDB和MySQL数据库进行备份和恢复操作。Mariabackup使用了InnoDB存储引擎的快速、可靠的增量备份算法,可以对大型数据库进行快速备份和恢复,而不影响数据库的性能或可用性。Mariabackup还支持备份加密、多线程备份、处理压缩和解压缩等高级功能。Mariabackup是MariaDB的一项重要功能,可以帮助数据库管理员保障数据的安全和可用性。

备份
# 全量备份
mariabackup --backup --target-dir=/backup/ --user=root --password=123456
#--target-dir 指定备份文件存放地址
#--user    数据库用户名
#--password    数据库密码


# 增量备份
mariabackup --backup --target-dir=/var/mariadb/ --incremental-basedir=/backup/ --user=root --password=123456
#--target-dir 选项提供所有增量更改的位置
#--incremental-basedir 提供数据库完整备份的位置


# 基于上次增量备份做增量备份
mariabackup --backup --target-dir=/var/mariadb/ --incremental-basedir=/var/mariadb/ --user=root --password=123456
#--target-dir 选项提供所有增量更改的位置
#--incremental-basedir 提供数据库完整备份的位置
恢复

在进行还原备份之前,需要确保以下条件:

  • 停止 MariaDB Server 进程
  • 确保 datadir 目录为空
# 准备全量备份文件
mariabackup --prepare --apply-log-only --target-dir=/var/mariadb/backup

# 准备增量备份文件
mariabackup --prepare --apply-log-only --target-dir=/var/mariadb/backup --incremental-dir=/var/mariadb/inc1

# 恢复数据
mariabackup --copy-back --target-dir=/var/mariadb/backup/

# 修改数据文件权限
chown -R mysql:mysql /var/lib/mysql/

同步到存储区域,清理大于N天的备份

#同步文件到存储区域
#rsync -rv ${BAKDIR} 192.168.0.1:/backup/

#删除大于x天的备份
find ${BASE_BAKDIR} -name "*.gz" -type f -mtime +$days -exec rm {} \;

你可能感兴趣的:(mariadb,数据库)