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 {} \;