Debian系统MariaDB数据库备份与恢复方法
Debian系统下 MariaDB 数据库备份与恢复实战指南一 常见备份方案概览逻辑备份:使用 mysqldump 导出为 sql 文件,适用于大多数 MariaDB 备份场景,支持跨版本迁移、按需恢复以及更细致的对象级控制。自动化脚本:如 Automysqlbackup,可实现按日、周、月执行的
Debian系统下 MariaDB 数据库备份与恢复实战指南

一 常见备份方案概览
- 逻辑备份:使用 mysqldump 导出为 .sql 文件,适用于大多数 MariaDB 备份场景,支持跨版本迁移、按需恢复以及更细致的对象级控制。
- 自动化脚本:如 Automysqlbackup,可实现按日、周、月执行的自动备份策略,并具备清晰的目录结构,方便日常数据库运维管理。
- 物理热备:使用 Percona XtraBackup,能够在不停机的情况下完成热备份,支持增量备份与高效恢复,特别适合大规模数据库或高可用业务环境。
- 并行导出:使用 mysqlpump(可视为并行版 mysqldump),适合数据量较大的库,用于缩短导出时间、提升备份效率。
- 物理迁移:通过 LVM 快照或 rsync 直接复制数据目录,适合同版本环境下的整机迁移、快速恢复或重建实例。
二 逻辑备份与恢复步骤
- 备份
- 全库备份(含存储过程/触发器,不含数据):
mysqldump -u root -p --single-transaction --routines --triggers --no-data --databases db1 db2 > backup_full.sql - 单库结构与数据完整导出:
mysqldump -u root -p --single-transaction --routines --triggers mydb > mydb.sql - 仅导出数据或仅导出表结构:
mysqldump -u root -p --single-transaction mydb --no-create-info > mydb_data.sql
mysqldump -u root -p --single-transaction mydb --no-data > mydb_schema.sql - 排除部分表进行备份:
mysqldump -u root -p mydb --ignore-table=mydb.log_table1 --ignore-table=mydb.log_table2 > mydb_min.sql - 远程备份(使用配置文件保存连接凭据):
在 /etc/mysql/mariadb.conf.d/50-client.cnf 配置 [client] host/user/password 后执行:
mysqldump --defaults-extra-file=/etc/mysql/mariadb.conf.d/50-client.cnf mydb > mydb.sql
- 全库备份(含存储过程/触发器,不含数据):
- 恢复
- 目标数据库不存在时先创建数据库:
mysql -u root -p -e “CREATE DATABASE IF NOT EXISTS mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;” - 执行 SQL 脚本导入恢复:
mysql -u root -p mydb < mydb.sql - 跨服务器迁移恢复:
scp mydb.sql user@target:/path/
ssh user@target “mysql -u root -p mydb < /path/mydb.sql”
- 目标数据库不存在时先创建数据库:
- 自动化与保留策略
- 使用 Automysqlbackup:
sudo apt-get update && sudo apt-get install -y automysqlbackup
编辑 /etc/automysqlbackup/ 配置备份目录、用户、数据库与保留周期;可手动执行:sudo automysqlbackup;加入 cron(如每日 2:00):
0 2 * * * /usr/bin/automysqlbackup - 自定义脚本示例(含压缩并保留 7 天):
#!/bin/bash
BACKUP_DIR=“/srv/backup”
DB=“mydb”
FILE=“$BACKUP_DIR/${DB}$(date +%F).sql"
mysqldump --defaults-extra-file=/etc/mysql/mariadb.conf.d/50-client.cnf “$DB” > “$FILE”
gzip “$FILE”
find “$BACKUP_DIR” -name "${DB}*.sql.gz” -mtime +7 -delete
- 使用 Automysqlbackup:
三、XtraBackup的物理热备与恢复步骤
- 适用场景:适合需要业务不中断完成备份、支持增量备份以及要求快速恢复的大型 MariaDB/MySQL 数据库实例。
- 安装(Debian 常见版本):
wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb
sudo dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb
sudo apt-get update
sudo apt-get install -y percona-xtrabackup-24(或对应版本) - 全量备份与准备
- 执行全量备份:
xtrabackup --backup --target-dir=/data/backups/full --user=backup --password=pwd - 准备备份(应用 redo 日志,使备份达到一致性状态):
xtrabackup --prepare --target-dir=/data/backups/full
- 执行全量备份:
- 恢复
- 停止数据库服务并清理原数据目录:
sudo systemctl stop mysql
sudo mv /var/lib/mysql /var/lib/mysql.old - 回拷数据文件:
xtrabackup --copy-back --target-dir=/data/backups/full - 修复目录权限并启动服务:
sudo chown -R mysql:mysql /var/lib/mysql
sudo systemctl start mysql
- 停止数据库服务并清理原数据目录:
- 增量备份与准备
- 第一次增量备份(基于全量):
xtrabackup --backup --target-dir=/data/backups/inc1 --incremental-basedir=/data/backups/full --user=backup --password=pwd - 第二次增量备份(基于上一次增量):
xtrabackup --backup --target-dir=/data/backups/inc2 --incremental-basedir=/data/backups/inc1 --user=backup --password=pwd - 准备阶段(按顺序依次应用日志):
xtrabackup --prepare --apply-log-only --target-dir=/data/backups/full
xtrabackup --prepare --apply-log-only --target-dir=/data/backups/full --incremental-dir=/data/backups/inc1
xtrabackup --prepare --target-dir=/data/backups/full --incremental-dir=/data/backups/inc2 - 完成后再按照“全量恢复”步骤进行回拷并启动数据库。
- 第一次增量备份(基于全量):
四 实践建议与注意事项
- 字符集与一致性
- 建议统一使用 utf8mb4,导出时显式指定:–default-character-set=utf8mb4;InnoDB 建议配合使用 --single-transaction 获取一致性快照,减少大表备份时的锁表影响。
- 备份用户与最小权限
- 建议单独创建专用备份账号:
CREATE USER ‘backup’@‘localhost’ IDENTIFIED BY ‘StrongPass!’;
GRANT SELECT, SHOW VIEW, RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON . TO ‘backup’@‘localhost’;
FLUSH PRIVILEGES;
- 建议单独创建专用备份账号:
- 保留与监控
- 应提前明确备份保留周期(如7 天),定期验证备份文件可用性,例如抽样执行导入测试,同时持续监控磁盘容量与备份任务成功率。
- 版本与兼容性
- 跨大版本恢复前建议先进行小范围演练;采用物理备份恢复时,尽量保持 MariaDB/MySQL 版本一致,以降低兼容性和恢复失败风险。
- 安全
- 避免在命令行中直接填写密码,优先使用 ~/.my.cnf 或 –defaults-extra-file;同时将备份文件权限限制为 600,并做好安全存储与传输管理。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
VMware安装Ubuntu完整教程:创建虚拟机与启动验证
本教程详细演示如何在VMware中创建Ubuntu虚拟机,涵盖ISO挂载、硬件配置、安装向导及启动验证。通过清晰的步骤与验证命令,帮助新手快速搭建可用的Linux学习环境。
Win10专业版U盘安装教程:制作启动盘与完整安装步骤
本文提供Win10专业版U盘安装完整流程:准备8GB以上U盘与官方镜像,制作启动盘并核对盘符;通过F12 F11 Esc等快捷键或BIOS设置U盘为第一启动项;安装时选择专业版并谨慎分区;完成后在“设置—系统—关于”验证版本与激活状态。操作前务必备份数据。
Windows10系统字体太小怎么调大
Windows10系统字体太小怎么调大?只需两步:首先打开设置中的显示选项,将缩放比例调整为125%或150%;随后运行ClearType文本调谐器优化字体清晰度。此方法适用于高分屏及普通屏幕,无需修改注册表即可解决界面拥挤问题。
Win10磁盘占用100%基础排查:从监控到清理的完整步骤
Windows 10系统出现磁盘占用100%会导致电脑卡顿、程序响应缓慢。本文提供基础排查方案:首先通过任务管理器确认是否为磁盘高负载,随后进入系统存储页面分析C盘占用类别,最后针对性清理临时文件。遵循此流程可有效缓解磁盘压力,避免盲目重装系统。
Windows10系统怎么显示此电脑和控制面板
Windows10默认可能不显示桌面图标,导致找不到“此电脑”和“控制面板”。只需进入个性化设置,在“桌面图标设置”中勾选对应选项即可恢复。本文提供详细图文步骤,帮助快速找回系统入口。
- 热门数据榜
1
2
3
4
5
6
7
8
9
10
相关攻略
2026-09-01 16:50
2026-09-01 16:50
2026-08-27 15:46
2026-08-27 15:45
2026-08-27 15:45
2026-08-27 15:45
2026-08-27 15:44
2026-08-27 15:44
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程

