mysql启动报错的原因常见的有一下几种:
1、数据所在分区满了
2、pid所在目录mysql用户没有写权限
3、存储引擎为innodb引擎,这个时候启动的时候需要恢复所有的操作(select,create,drop,insert。update,delete),当不能有效的执行恢复操作的时候,mysql启动报错
早上来上班的时候,被通知整栋大楼要停电,想了一下,公司机房还放了几台测试机,如果突然断电的话,会导致测试机中的虚拟机不可用,赶紧一台一台关机吧,其中有一台虚拟机上装着mysql,先进去把mysql关掉吧,避免等下开机启动mysql报错,然后依次关掉所有的虚拟机,最后宿主机
最终断电了,来电之后,赶紧起机器 ,一切顺利,但是到mysql的时候
mysql启动报错
我了个去,最不愿意看到的事还是发生了,一步一步检测吧
1、检查磁盘情况
磁盘空间还有很多,排除
2、检查pid文件是否存在,并查看其所在目录的权限
去相应目录查看
恩是有权限的,等等,我的pid文件呢?也就是说在启动的时候,mysql没有创建pid文件
手动创建一个试试
更改其属主属组
再启动,还报错
排除pid的问题
3、由配置文件可以,mysql存储引擎中有innodb,可能属于第三种情况
在配置文件中添加如下参数,然后启动
启动ok
注:
启动成功之后, 把配置文件中该选项注释掉,然后重启数据库,要不然,很多操作都不支持了
innodb_force_recovery 参数含义如下
默认为0 表示当需要恢复时,执行所有的恢复操作
可以设置为1-6,当参数大于0的时候,可以对表进行slect,create,drop操作,但insert,update或者delect这类操作室不允许的