mysql非正常关闭后无法启动解决方案

发表时间
评论 没有

电脑宕机重启后xampp中的mysql打不开了,看log发现是innodb造成的。不想正在调试的几个项目有数据丢失,在网上找了几个解决方案

Error: could not open single-table tablespace file .\mysql\innodb_index_stats.ibd

解决办法:

第一种

  1. 进入data/mysql目录
  1. 把下面的文件剪切到别的文件夹(任意位置),比如backup

innodb_index_stats.frm
innodb_index_stats.ibd
innodb_table_stats.frm
innodb_table_stats.ibd
slave_master_info.frm
slave_master_info.ibd
slave_relay_log_info.frm
slave_relay_log_info.ibd
slave_worker_info.frm
slave_worker_info.ibd

  1. 启动mysql

这种方法尝试后仍然无法启动

第二种(需要重新建库)

  1. 打开my.ini

添加配置:innodb_force_recovery = 1

  1. 启动mysql

备份数据库

  1. 关闭mysql

进入mysql目录,删除ib_logfile*,删除ibdata*(重启后可能遇到数据库表打不开的情况,把这几个文件再复制回原处试试)

删除出问题的数据库mysql/data/数据库文件夹

innodb_force_recovery = 0

  1. 开启mysql

创建数据库

执行备份脚本

我在第2步进入phpmyadmin备份完数据库,尝试读写都正常,然后关闭mysql,恢复my.ini的配置,重新启动就成功了

作者
分类 网站建设

评论

本文评论功能已关闭。

← 较早的 较新的 →

相关文章