温馨提示×

Ubuntu MariaDB如何进行故障恢复

小樊
54
2025-08-21 20:57:26
栏目: 云计算

Ubuntu MariaDB故障恢复可按以下步骤操作,优先从备份恢复,无备份时尝试物理文件恢复或配置修复:

一、有备份时的恢复

  1. 停止MariaDB服务

    sudo systemctl stop mariadb  
    
  2. 恢复SQL格式备份

    mysql -u 用户名 -p 数据库名 < 备份文件.sql  
    
  3. 恢复.dump格式备份

    mysqlimport -u 用户名 -p --local 数据库名 备份文件.dump  
    # 或  
    mariadb-restore -u 用户名 -p --databases 数据库名 备份文件.dump  
    
  4. 启动服务并验证

    sudo systemctl start mariadb  
    mysql -u 用户名 -p 数据库名  # 检查数据是否恢复  
    

二、无备份时的恢复(谨慎操作)

  1. 物理文件恢复(需提前备份数据目录)

    • 停止服务并备份当前数据目录:
      sudo systemctl stop mariadb  
      sudo cp -r /var/lib/mysql /var/lib/mysql_backup  
      
    • 用物理备份文件替换损坏文件(如.ibd文件):
      sudo cp /path/to/backup/文件名.ibd /var/lib/mysql/  
      sudo chown mysql:mysql /var/lib/mysql/文件名.ibd  
      sudo chmod 660 /var/lib/mysql/文件名.ibd  
      
    • 启动服务并验证:
      sudo systemctl start mariadb  
      
  2. 配置文件修复

    • 检查/etc/mysql/my.cnf权限和路径是否正确,修复后重启服务:
      sudo chown root:root /etc/mysql/my.cnf  
      sudo systemctl restart mariadb  
      

三、其他场景

  • 权限问题:确保数据目录属主为mysql用户:
    sudo chown -R mysql:mysql /var/lib/mysql  
    
  • 服务启动失败:查看日志/var/log/mysql/error.log,根据错误提示修复(如跳过权限检查启动):
    sudo mysqld_safe --skip-grant-tables &  
    

注意:物理恢复可能导致数据不一致,建议优先通过备份恢复,操作前务必备份当前数据。

0