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 数据库名 备份文件.dump
示例:mysqlimport -u root -p --local my_database /home/user/my_backup.dump
mariadb-restore命令(更直观):mariadb-restore -u 用户名 -p --databases 数据库名 备份文件.dump
示例:mariadb-restore -u root -p --databases my_database /home/user/my_backup.dump
两种工具均会自动解析.dump文件并导入数据。
2. 使用mariabackup工具恢复(官方推荐,支持物理备份)
若你使用mariabackup(MariaDB官方开源备份工具)创建了物理备份,恢复步骤如下:
sudo apt install mariadb-backup
--prepare命令使备份数据可导入:mariabackup --prepare --target-dir=/path/to/full_backup
sudo systemctl stop mariadb
/var/lib/mysql):sudo rsync -aP /path/to/full_backup/ /var/lib/mysql/
mysql用户:sudo chown -R mysql:mysql /var/lib/mysql
sudo systemctl start mariadb
若需恢复增量备份,需先准备全量备份,再依次准备并合并增量备份。3. 无备份时的数据恢复(使用extundelete工具,成功率有限)
若未备份且数据文件被误删除,可尝试使用extundelete工具恢复(仅适用于ext3/ext4文件系统):
sudo apt install extundelete
.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服务。注意事项:
mariabackup创建物理备份+mysqldump创建逻辑备份),并验证备份完整性;SHOW DATABASES; SHOW TABLES;)。