首页主机资讯Debian MariaDB恢复方法有哪些

Debian MariaDB恢复方法有哪些

时间2025-10-04 14:30:04发布访客分类主机资讯浏览958
导读:1. 使用mariabackup工具恢复(物理备份恢复,官方推荐) mariabackup是MariaDB官方开源的物理备份工具,适用于全量及增量备份恢复,能最大程度保证数据一致性。 准备工作:停止MariaDB服务,避免数据写入冲突;备...

1. 使用mariabackup工具恢复(物理备份恢复,官方推荐)
mariabackup是MariaDB官方开源的物理备份工具,适用于全量及增量备份恢复,能最大程度保证数据一致性。

  • 准备工作:停止MariaDB服务,避免数据写入冲突;备份当前数据库目录(如/var/lib/mysql)以防恢复失败。
  • 全量恢复步骤
    ① 执行mariabackup --prepare --target-dir=/path/to/full_backup,将全量备份数据转换为可导入状态;
    ② 停止MariaDB服务:sudo systemctl stop mariadb
    ③ 清空现有数据库目录并将准备好的备份数据同步过去:sudo rsync -aP /path/to/full_backup/ /var/lib/mysql/
    ④ 修复目录属主:sudo chown -R mysql:mysql /var/lib/mysql
    ⑤ 启动MariaDB服务:sudo systemctl start mariadb
  • 增量恢复步骤
    对每个增量备份(如/path/to/incr_backup),先执行mariabackup --prepare --target-dir=/path/to/incr_backup --incremental-dir=/path/to/incr_backup合并增量数据到全量备份目录,再用rsync同步到数据库目录。

2. 使用mysqldump工具恢复(逻辑备份恢复,通用性强)
mysqldump生成的SQL脚本包含数据库结构(表、视图)和数据,适合跨版本、跨平台恢复,或需要导出部分数据的场景。

  • 恢复单库:若已删除目标库,先创建空库(mysql -u root -p -e "CREATE DATABASE dbname; "),再导入备份文件:mysql -u root -p dbname < /path/to/backup.sql
  • 恢复全库:直接导入备份文件到当前MariaDB实例:mysql -u root -p < /path/to/full_backup.sql

3. 使用mysqlcheck工具修复轻微损坏
若数据库能启动但存在表损坏(如查询报错“Table corruption”),可通过mysqlcheck检查和自动修复:
sudo mysqlcheck --all-databases --check --auto-repair -u root -p
该工具会扫描所有数据库的表,尝试修复索引或数据不一致问题,适用于InnoDB或MyISAM表的轻微损坏。

4. 配置innodb_force_recovery强制恢复(InnoDB严重损坏)
当InnoDB存储引擎的数据文件(如ibdata1ib_logfile*)损坏导致MariaDB无法启动时,可通过强制恢复模式导出数据:

  • 编辑配置文件(/etc/mysql/my.cnf/etc/my.cnf),在[mysqld]段添加innodb_force_recovery = 1(值范围1-6,数字越大修复越彻底);
  • 重启MariaDB:sudo systemctl restart mariadb
  • 若能启动,立即导出所有数据(如使用mysqldump),然后删除损坏的数据库目录,重新初始化MariaDB并导入数据;
  • 若无法启动,逐步增加innodb_force_recovery的值(每次+1)直至能启动,再执行数据导出。

5. 从系统备份恢复(物理文件恢复)
若数据库目录(如/var/lib/mysql)因磁盘故障、误删除等原因丢失,可通过系统级备份(如rsynctar或专业备份软件)恢复:

  • 停止MariaDB服务;
  • 将备份的系统文件恢复到原数据库目录(如sudo rsync -aP /backup/var_lib_mysql/ /var/lib/mysql/);
  • 修复属主:sudo chown -R mysql:mysql /var/lib/mysql
  • 启动MariaDB服务:sudo systemctl start mariadb

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Debian MariaDB恢复方法有哪些
本文地址: https://pptw.com/jishu/720154.html
Kafka与Hadoop集成如何配置 Kafka性能调优有哪些实用技巧

游客 回复需填写必要信息