Ubuntu MariaDB数据恢复技巧是什么
以下是Ubuntu MariaDB数据恢复的关键技巧,按场景分类整理:
一、基于备份的恢复
- SQL备份恢复
- 若有
.sql
格式备份,用mysql
命令导入:
mysql -u 用户名 -p 数据库名 < 备份文件.sql
- 若有
- 物理文件恢复
- 停止MariaDB服务:
sudo systemctl stop mariadb
- 将备份文件复制到数据目录(默认
/var/lib/mysql
),确保权限正确:
sudo cp -R /path/to/backup/* /var/lib/mysql/
sudo chown -R mysql:mysql /var/lib/mysql/
- 启动服务:
sudo systemctl start mariadb
- 停止MariaDB服务:
二、误操作或损坏恢复
- 二进制日志回滚(需提前开启binlog)
- 用
mysqlbinlog
解析日志,生成反向SQL:
mysqlbinlog --start-datetime="YYYY-MM-DD HH:MM:SS" /var/lib/mysql/mysql-bin.00000X > revert.sql
- 执行反向SQL恢复数据:
mysql -u 用户名 -p < revert>
- 用
- 系统版本表恢复(MariaDB 10.3+)
- 对支持版本控制的表,通过
FOR SYSTEM_TIME
查询历史数据并导出:
SELECT * FROM 表名 FOR SYSTEM_TIME AS OF 'YYYY-MM-DD HH:MM:SS' INTO OUTFILE '/tmp/data.sql'
- 导入历史数据:
LOAD DATA INFILE '/tmp/data.sql' REPLACE INTO TABLE 表名
- 对支持版本控制的表,通过
三、高级恢复场景
- InnoDB损坏修复
- 编辑配置文件
/etc/mysql/my.cnf
,添加innodb_force_recovery=1
(逐步增加至6,最大值可强制启动) - 重启后导出数据,再重建数据库
- 编辑配置文件
- 专业工具辅助
- 使用
Percona Toolkit
的pt-table-checksum
和pt-table-sync
修复主从不一致或表损坏 - 通过
mariabackup
工具(官方推荐)进行物理备份与恢复,支持增量备份
- 使用
四、注意事项
- 恢复前务必先备份当前数据,避免二次损坏。
- 定期测试备份文件可用性,确保恢复流程可靠。
- 生产环境建议配置主从复制或集群,降低单点故障风险。
参考来源:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权请联系我们,一经查实立即删除!