Debian MariaDB如何进行数据备份与恢复测试
导读:Debian MariaDB数据备份与恢复测试指南 一、备份方法:选择合适的工具 1. mysqldump(逻辑备份,适合中小型数据库) mysqldump是MariaDB自带的逻辑备份工具,将数据库结构和数据导出为SQL文件,便于跨版本、...
Debian MariaDB数据备份与恢复测试指南
一、备份方法:选择合适的工具
1. mysqldump(逻辑备份,适合中小型数据库)
mysqldump
是MariaDB自带的逻辑备份工具,将数据库结构和数据导出为SQL文件,便于跨版本、跨平台恢复。
全量备份命令:
mysqldump -u root -p --databases your_database_name >
/backup/your_database_backup.sql
说明:-u
指定用户名(如root),-p
提示输入密码,--databases
指定要备份的数据库名,输出重定向到/backup/
目录下的SQL文件。
2. mariabackup(物理备份,官方推荐,适合大型数据库)
mariabackup
是MariaDB官方提供的物理备份工具,支持热备份(不停机)、增量备份和压缩,恢复速度快。
安装工具:
sudo apt update &
&
sudo apt install mariadb-backup
全量备份命令:
mariabackup --backup --user=root --password=your_password --target-dir=/backup/full_backup
增量备份命令(基于上一次全量或增量备份):
mariabackup --backup --user=root --password=your_password --target-dir=/backup/incr_backup --incremental-basedir=/backup/full_backup
说明:--backup
表示执行备份,--target-dir
指定备份目录,--incremental-basedir
指定增量备份的基础目录(全量备份目录)。
二、恢复测试:验证备份有效性
1. 恢复前准备
- 停止MariaDB服务:避免数据冲突。
sudo systemctl stop mariadb
- 备份现有数据:防止恢复失败导致数据丢失。
sudo cp -R /var/lib/mysql /var/lib/mysql_backup
- 清空数据目录:确保恢复时无旧数据干扰(仅恢复全量或增量时需要)。
sudo rm -rf /var/lib/mysql/*
2. 恢复mysqldump备份(逻辑恢复)
使用mysql
命令将SQL文件导入数据库:
mysql -u root -p your_database_name <
/backup/your_database_backup.sql
说明:your_database_name
需提前创建(可通过mysql -u root -p -e "CREATE DATABASE your_database_name;
"
创建)。
3. 恢复mariabackup备份(物理恢复)
(1)全量恢复
# 准备备份(重组数据文件,使其可导入)
mariabackup --prepare --target-dir=/backup/full_backup
# 拷贝备份数据到MariaDB数据目录
sudo rsync -aP /backup/full_backup/ /var/lib/mysql/
# 设置正确权限
sudo chown -R mysql:mysql /var/lib/mysql
# 启动MariaDB服务
sudo systemctl start mariadb
(2)增量恢复(基于全量备份)
# 准备全量备份(同上)
mariabackup --prepare --apply-log-only --target-dir=/backup/full_backup
# 应用增量备份
mariabackup --prepare --apply-log-only --target-dir=/backup/full_backup --incremental-dir=/backup/incr_backup
# 拷贝数据到数据目录
sudo rsync -aP /backup/full_backup/ /var/lib/mysql/
# 设置权限并启动服务(同上)
说明:增量恢复需先恢复全量备份,再依次应用所有增量备份(顺序不可颠倒)。
4. 验证恢复结果
登录MariaDB,检查数据库和表是否存在:
mysql -u root -p -e "SHOW DATABASES;
"
mysql -u root -p -e "USE your_database_name;
SHOW TABLES;
"
查询表数据,确认数据完整性:
mysql -u root -p -e "USE your_database_name;
SELECT * FROM your_table LIMIT 10;
"
三、注意事项
- 备份频率:根据数据重要性设置(如每日全量+每小时增量)。
- 备份存储:将备份文件存放到异地(如云存储)或离线介质(如外接硬盘),防止物理灾难。
- 权限管理:备份目录需设置为
mysql:mysql
,避免未授权访问。 - 日志监控:查看
/var/log/mysql/error.log
,确认备份/恢复过程无错误。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian MariaDB如何进行数据备份与恢复测试
本文地址: https://pptw.com/jishu/731530.html