MariaDB数据恢复实用指南
一、先判断场景与准备
二、有备份时的恢复
三、无备份时的恢复
四、常见恢复场景与命令清单
| 场景 | 关键前提 | 核心命令/步骤 |
|---|---|---|
| 误删表/库,有全备+binlog | 已启用 log_bin,全备含位点 | 1) mysql < full.sql 2) 从备份文件读取 MASTER_LOG_FILE/POS 3) mysqlbinlog --start-position=… --stop-position=… |
| 时间点恢复到某时刻 | 有全备与连续binlog | 1) 全备恢复 2) mysqlbinlog --start-datetime=“YYYY-MM-DD HH:MM:SS” --stop-datetime=“…” binlog.00000N |
| 仅SQL文本备份(.sql/.dump) | 备份文件可用 | mysql -u 用户 -p 数据库名 < file.sql;或 mysqlimport/mariadb-restore 处理 .dump |
| 物理文件可用但实例崩溃 | 数据文件完整 | 拷贝数据库目录与 ib* 文件至新实例数据目录→修正权限→启动→导出→重建→导入 |
| 无法启动(InnoDB损坏) | 错误日志可见损坏 | my.cnf 中设 innodb_force_recovery=1→能启动即 mysqldump 全量导出→重建实例→导入 |
五、恢复后的校验与加固