linux下mysql 无法启动的原因很多,pid文件不存在、sock文件权限问题、甚至包括服务器空间占满等下面我来给大家介绍解决mysql服务无法启动一些方法.
具体解决方法流程如下:
1、删除mysql的所有pid进程.
2、启动mysql,如果启动正常了就ok,如果不正常就看mysql的日志文件.
3、查看日志文件,看看报错信息,根据报错信息来对应处理mysql无法启动的问题.
状况1
1 ^G/usr/sbin/mysqld: Disk is full writing './mysql-bin.~rec~' (Errcode: 28). Waiting for someone to free space... (Expect up to 60 secs delay for server to continue after freeing disk space)
这个是我的报错信息,惊愕,磁盘竟然满了,下面只有找那个文件夹占用磁盘空间啦.
下面就一步一步找了
最后发现是mysql的日志文件占用了大概50G左右的空间,哎呦妈呀,我的服务器就130G,下面就把日志文件关闭并删除.
方法二:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
修改/etc/my.conf,代码如下:
- [mysqld]
- datadir=/usr/local/mysql/data
- socket=/var/lib/mysql/mysql.sock
- [mysql.server]
- user=mysql
- basedir=/usr/local/mysql
- Ifthereisnotcurrentlyasectioncalled[client],addoneatthebottomofthefileandcopythesocket=lineunderthe[mysqld]sectionsuchas:
- //phpfensi.com
- [client]
- socket=/var/lib/mysql/mysql.sock
发现依旧如此,运行/etc/init.d/mysql start报错:Starting MySQLCouldn't find MySQL manager or server
是mysqld服务没启,运行/usr/local/mysql/bin/mysqld_safe &.
三、非法关机造成的MYSQL无法启动问题
如果是因为非法关机等原因导致MYSQL无法启动或启动有问题的,最好使用重新安装的或确认是OK的MYSQL数据表及ibdata1、mysql.pid、ib_logfile0等文件进行覆盖,天缘试过遇到过多次这种情况,就是原来的MYSQL表有问题了,总是无法启动,但是更换成新表就可以。
四、重装MYSQL
发现MYSQL有问题时,最便捷的方法,是先把mysql卸载掉,然后重装重新配置,具体方法如下:
1、卸载MYSQL,清理掉安装目录和Windows目录下的my.ini文件.
2、检查任务管理器中是否还有mysql进程,如果有,可以把mysqld.exe杀掉,或者先杀掉再卸载也可以.
3、在cmd命令窗口,执行:sc delete mysql,该命令是清理注册服务命令。 .
3. 重装 mysql
如果是安全设置以后出现这个问题,可能是因为mysql以低权限运行的时候因为密码策略等问题导致,大家看恶意将mysql的启动用户更下下密码,然后在服务项里设置下即可.