MariaDB在Ubuntu上如何恢复数据
导读:1. 通过备份文件恢复(推荐,最安全有效) 若你有MariaDB的备份文件(常见格式为.sql或.dump),可通过以下步骤恢复: SQL格式备份恢复:使用mysql命令直接导入备份文件。例如恢复名为my_database的数据库,命令...
1. 通过备份文件恢复(推荐,最安全有效)
若你有MariaDB的备份文件(常见格式为.sql或.dump),可通过以下步骤恢复:
-
SQL格式备份恢复:使用
mysql命令直接导入备份文件。例如恢复名为my_database的数据库,命令为:mysql -u 用户名 -p 数据库名 < 备份文件.sql示例(恢复到
my_database,备份文件位于/home/user/my_backup.sql):mysql -u root -p my_database < /home/user/my_backup.sql输入密码后,系统会自动执行SQL语句恢复数据。
-
.dump格式备份恢复:需使用
mysqlimport或mariadb-restore工具。mysqlimport命令(需提前安装mariadb-client):示例:mysqlimport -u 用户名 -p --local 数据库名 备份文件.dumpmysqlimport -u root -p --local my_database /home/user/my_backup.dumpmariadb-restore命令(更直观):
示例:mariadb-restore -u 用户名 -p --databases 数据库名 备份文件.dumpmariadb-restore -u root -p --databases my_database /home/user/my_backup.dump
两种工具均会自动解析.dump文件并导入数据。
2. 使用mariabackup工具恢复(官方推荐,支持物理备份)
若你使用mariabackup(MariaDB官方开源备份工具)创建了物理备份,恢复步骤如下:
- 安装mariabackup(若未安装):
sudo apt install mariadb-backup - 准备备份数据:进入备份目录,执行
--prepare命令使备份数据可导入:mariabackup --prepare --target-dir=/path/to/full_backup - 停止MariaDB服务:
sudo systemctl stop mariadb - 恢复数据到数据目录:将准备好的备份数据复制到MariaDB默认数据目录(通常为
/var/lib/mysql):sudo rsync -aP /path/to/full_backup/ /var/lib/mysql/ - 修正权限:确保数据目录属主为
mysql用户:sudo chown -R mysql:mysql /var/lib/mysql - 启动MariaDB服务:
若需恢复增量备份,需先准备全量备份,再依次准备并合并增量备份。sudo systemctl start mariadb
3. 无备份时的数据恢复(使用extundelete工具,成功率有限)
若未备份且数据文件被误删除,可尝试使用extundelete工具恢复(仅适用于ext3/ext4文件系统):
- 停止相关服务:立即停止MariaDB及所有可能访问数据文件的服务(如Apache、Nginx),防止新数据覆盖被删除文件。
- 安装extundelete:
sudo apt install extundelete - 恢复指定文件:执行以下命令恢复被删除的MariaDB数据文件(如表文件
.ibd或数据库目录)。例如恢复/var/lib/mysql/my_database目录下的所有文件:
其中sudo extundelete /dev/sdXY --restore-directory /var/lib/mysql/my_database/dev/sdXY是包含MariaDB数据文件的分区(可通过df -h /var/lib/mysql查看)。 - 恢复后操作:恢复的文件会保存在当前目录的
RECOVERED_FILES文件夹中,需将其移回原数据目录并修正权限,再重启MariaDB服务。
注意事项:
- 恢复前务必停止MariaDB服务,避免数据冲突或覆盖;
- 优先使用备份文件恢复,无备份时尝试数据恢复工具的成功率较低;
- 定期备份数据(建议使用
mariabackup创建物理备份+mysqldump创建逻辑备份),并验证备份完整性; - 恢复后检查数据库连接及数据完整性(如登录MySQL执行
SHOW DATABASES; SHOW TABLES;)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: MariaDB在Ubuntu上如何恢复数据
本文地址: https://pptw.com/jishu/745207.html
