ubuntu

Ubuntu MariaDB数据恢复技巧是什么

小樊
36
2025-08-07 15:30:58
栏目: 云计算

以下是Ubuntu MariaDB数据恢复的关键技巧,按场景分类整理:

一、基于备份的恢复

  1. SQL备份恢复
    • 若有.sql格式备份,用mysql命令导入:
      mysql -u 用户名 -p 数据库名 < 备份文件.sql
  2. 物理文件恢复
    • 停止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

二、误操作或损坏恢复

  1. 二进制日志回滚(需提前开启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.sql
  2. 系统版本表恢复(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 表名

三、高级恢复场景

  1. InnoDB损坏修复
    • 编辑配置文件/etc/mysql/my.cnf,添加innodb_force_recovery=1(逐步增加至6,最大值可强制启动)
    • 重启后导出数据,再重建数据库
  2. 专业工具辅助
    • 使用Percona Toolkitpt-table-checksumpt-table-sync修复主从不一致或表损坏
    • 通过mariabackup工具(官方推荐)进行物理备份与恢复,支持增量备份

四、注意事项

参考来源:

0
看了该问题的人还看了