linux

MySQL在Linux上如何进行故障恢复

小樊
37
2025-09-08 08:10:57
栏目: 云计算

以下是Linux上MySQL故障恢复的常见方法:

一、基础恢复操作

  1. 停止MySQL服务

    sudo systemctl stop mysql
    
  2. 备份当前数据
    恢复前建议先备份现有数据,避免二次损坏:

    sudo cp -r /var/lib/mysql /var/lib/mysql_backup
    

二、逻辑备份恢复(推荐)

  1. 使用mysqldump恢复
    若有逻辑备份文件(如backup.sql),执行:
    mysql -u 用户名 -p 数据库名 < 备份文件.sql
    

三、物理备份恢复

  1. 直接复制数据文件
    适用于冷备份(需先停止服务),将备份的文件复制到MySQL数据目录(默认/var/lib/mysql):

    sudo cp -r /path/to/backup/* /var/lib/mysql/
    
  2. 热备份工具恢复
    若使用Percona XtraBackup等热备份工具,需按工具文档执行恢复流程,通常涉及--copy-back参数。

四、二进制日志恢复(增量恢复)

  1. 基于时间点恢复
    通过mysqlbinlog工具指定时间范围恢复:

    mysqlbinlog --start-datetime="2025-01-01 00:00:00" --stop-datetime="2025-01-02 00:00:00" binlog.000001 | mysql -u 用户名 -p
    
  2. 基于位置点恢复
    指定日志位置恢复:

    mysqlbinlog --start-position=12345 binlog.000001 | mysql -u 用户名 -p
    

五、工具修复(针对损坏文件)

  1. myisamchk(MyISAM引擎)

    sudo myisamchk --recover /var/lib/mysql/数据库名/表名.MYI
    
  2. mysqlcheck(InnoDB引擎)

    sudo mysqlcheck -r --all-databases
    

六、注意事项

参考来源:

0
看了该问题的人还看了