本人比较话唠,不想看哆嗦的可以忽略下面的文字,直接看这里我的最终解决方式,不保证对你也有效果:
在 my.cnf 文件中查找 innodb_force_recovery 字段(没有则自己添加),并将值设置为大于0的值,我设置的是1,并且问题得到了解决。
XAMPP一直用着挺正常,今天突然启动不了mysql了。
在网上各种百度,搜索到的方法都尝试了,但还是没有任何作用,依然无法启动。
整了一个上午没解决,后来到了下午,最后在
/Applications/XAMPP/xamppfiles/var/mysql
这个目录中看到一个 xxxx.local.err 的文件,直觉告诉我这是一个类似错误日志的文件(本人对mysql的了解仅限会用简单的增删改查)。
尝试打开这个文件,提示权限不够,查看权限,发现只有 root 和 _mysql 用户是可读写的,于是拷贝了一份出来,给everyone用户添加了个只读属性。
打开文件,的确是错误日志类的文件,里面全是英文!
在一阵晕头转向之后,看到了一个信息,大概意思是读取数据库文件出错之类的,如果已经做好了数据备份,可以尝试在 my.cnf 文件中给 innodb_force_recovery 设置一个大于0的值。
在my.cnf 中找了半天,没看到这个字段,于是自己添加了一个,并设置值为1. 然后重启XAMPP的mysql服务,发现居然神奇地可以启动了!
通过 phpmyadmin 进入,里面的数据库都没什么问题,查看一遍之后关闭mysql,把 innodb_force_recovery 字段注释掉,再启动,居然也能正常启动了!
弄了一上午的问题,就这么莫名其妙地解决了,表示一脸懵逼。如果有大佬了解这个字段的含义,还请在下面留言赐教,感激不尽!