记一次血淋淋的MySQL崩溃修复案例

第一种方法1. 建立一张新表,导入数据,删除原表,重启MySQL,重命名数据库,最后改回存储引擎。第二种方法1. 使用mysqldump将表格导出,再导入到InnoDB表中。备份导出数据脚本,并在需要时导入。第三种方法1. 配置my.cnf,设置`innodb_force_recovery`值,重启MySQL。2. 导出数据脚本,备份数据库。3...
记一次血淋淋的MySQL崩溃修复案例
本文提供了一次MySQL数据库崩溃后的修复案例,旨在帮助读者在遇到类似问题时能够迅速且有效地解决问题,无需担心“删库跑路”的风险。
首先,问题描述指出,研究MySQL源代码、调试时,MySQL出现崩溃,并且损坏了InnoDB文件。幸运的是,此情况发生在调试环境下。通过查看日志,可以发现是innodb引擎出现问题。进一步分析日志,找到强制恢复的方法。在my.cnf配置文件中,需要添加`innodb_force_recovery=1`,然后重启MySQL。若该设置无效,可以尝试其他值,例如2-6。重启后,使用mysqldump或pma导出数据,执行修复操作,最后将`innodb_force_recovery`参数恢复默认值0。
配置文件中的`innodb_force_recovery`参数负责影响整个InnoDB存储引擎的恢复状况。默认值为0,表示执行所有恢复操作,可能导致无法启动MySQL并记录错误日志。而设置值为1-6则允许执行更多操作,如对表进行select、create、drop操作,但不允许执行insert、update或delete操作。
本文提供了三种修复MySQL崩溃的方案:
第一种方法1. 建立一张新表,导入数据,删除原表,重启MySQL,重命名数据库,最后改回存储引擎。
第二种方法1. 使用mysqldump将表格导出,再导入到InnoDB表中。备份导出数据脚本,并在需要时导入。
第三种方法1. 配置my.cnf,设置`innodb_force_recovery`值,重启MySQL。
2. 导出数据脚本,备份数据库。
3. 删除关键文件(ib_logfile0、ib_logfile1、ibdata1),备份后删除。
4. 重新配置my.cnf,删除或修改`innodb_force_recovery`值,重启MySQL。
5. 将数据导入MySQL数据库。
在执行任何操作时,请确保数据备份成功,并注意处理过程中可能出现的特定注意事项。通过本文提供的步骤和方法,读者可以更直观地了解如何处理MySQL崩溃问题,确保数据库的稳定运行。
2024-10-08
mengvlog 阅读 9 次 更新于 2025-07-20 21:43:00 我来答关注问题0
  • 第一种方法1. 建立一张新表,导入数据,删除原表,重启MySQL,重命名数据库,最后改回存储引擎。第二种方法1. 使用mysqldump将表格导出,再导入到InnoDB表中。备份导出数据脚本,并在需要时导入。第三种方法1. 配置my.cnf,设置`innodb_force_recovery`值,重启MySQL。2. 导出数据脚本,备份数据库。3...

  •  爱可生云数据库 MySQL恢复中的几个问题解决方法

    一、Can’t connect to MySQL server on ‘localhost’ (10061)翻译:不能连接到 localhost 上的mysql 分析:这说明“localhost”计算机是存在的,但在这台机器上却没提供MySQL服务。需要启动这台机器上的MySQL服务,如果机子负载太高没空相应请求也会产生这个错误。解决:既然没有启动那就去启动这台机子...

  •  薯条de番茄酱 怎样修复mysql表

    当mysql服务在运行时,也可以用mysql内建命令mysqlcheck来修复。语法:mysqlcheck -r 数据库名 表名 -uuser -ppass mysqlcheck -r sports_results mytable -uuser -ppass sports_results.mytable OK 利用mysqlcheck可以一次性修复多个表。只要在数据库名后列出相应表名即可(用空格隔开)。或者数据库名...

  •  翡希信息咨询 故障分析 | 记一次 MySQL 复制故障 -Error_code:1317

    MySQL 复制故障分析 - Error_code:1317 答案:MySQL 从库出现的复制故障,错误代码为 1317,通常指示在复制过程中遇到了问题,导致复制线程停止。针对此问题,我们可以按照以下步骤进行详细分析和解决。一、问题背景 MySQL 从库报错信息指出,复制协调器因为工作线程中的错误而停止。具体的错误信息提示我们...

  •  阿暄生活 记一次 MySQL5 初始化被 kill 的问题排查 | 京东云技术团队

    在搭建MySQL5时,部分容器在初始化阶段被kill。问题日志显示,MySQL在初始化过程中被系统kill。初步排查:发现MySQL配置文件中存在一个8G的匿名内存配置,引发疑问。调整容器内存规格至32G后,虽然成功启动了MySQL,但内存使用情况异常。怀疑问题可能与内存配置相关,但经过多次调整配置后,问题依旧存在,因此...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部