Can't connect to local MySQL server through socket

今天上午在测试代码的时候发现在执行写mysql的时候总是超时,然后失败,使用mysql命令

show processlist;

发现有两条update的sql语句已经执行了很长时间,以为是这两个程序把表给锁了,然后准备kill掉这两个请求,kill了几次都是失败,于是决定重启mysql。但是重启再次连接mysql时发现连不上了,报错如下:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'

然后使用命令查看mysql是不是真的已经起来了

ps -A|grep mysql

查看,两个进程都启动了,看着是正常,但是查看端口时发现3306端口并没有开启,什么问题???

接着查,看一下mysql当前处于什么状态

service mysqld status

输出结果不是刚才想的那样:

MySQL is running but PID file could not be found

有网友提示将mysql进程杀死,然后重启,试了,无效。

查看mysql的错误日志,显示如下信息:

/usr/local/mysql/bin/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)

原来是磁盘不足,清理了下磁盘正常了。

你可能感兴趣的:(Can't connect to local MySQL server through socket)