MySQL Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘ (111)一例

遇到MySQL数据库重启后无法通过socket '/tmp/mysql.sock'连接的问题。检查mysqld服务状态正常,但重启时卡住。解决方法是强制杀死所有MySQL进程后再启动服务,恢复正常登录。
摘要由CSDN通过智能技术生成

一.问题描述

今天突然碰到一个mysql数据库重启后登陆不上的问题:

[16:37:02] [root@hp2 ~]# mysql -uroot -p
[16:37:04] Enter password: 
[16:37:04] ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

二.解决方案

因为mysql.sock是mysql启动后才会生成的,所以这个文件其实是不存在的。

首先我们来看mysqld服务是否是正常的:

[root@hp2 ~]# ps -ef | grep mysqld
root       723     1  0 17:38 pts/1    00:00:00 /bin/sh /home/mysql8/mysql/bin/mysqld_safe --datadir=/home/mysql8/mysql/data --pid-file=/home/mysql8/mysql/data/hp2.pid
mysql     1013   723 99 17:38 pts/1    00:47:46 /home/mysql8/mysql/bin/mysqld --basedir=/home/mysql8/mysql --datadir=/home/mysql8/mysql/data --plugin-dir=/home/mysql8/mysql/lib/plugin --user=mysql --log-error=/home/mysql8/mysql/mysql_error.log --pid-file=/home/mysql8/mysql/data/hp2.pid --port=3306
root      3061 26545  0 18:14 pts/5    00:00:00 grep --color=auto mysqld

从上面输出可以看到,mysqld服务是正常的。

一时想不到其他问题,于是想到了重启,结果发现重启居然卡住了

[root@hp2 ~]# service mysqld restart
Shutting down MySQL... SUCCESS! 
Starting MySQL................................................................................................................................................................................................

杀掉全部的mysql进程,然后再启动mysql服务,结果登陆正常。

[root@hp2 ~]# ps aux |grep mysql*
root     27337  0.0  0.0  11828  1620 pts/5    S    16:35   0:00 /bin/sh /home/mysql8/mysql/bin/mysqld_safe --datadir=/home/mysql8/mysql/data --pid-file=/home/mysql8/mysql/data/hp2.pid
mysql    27588 81.1 10.9 1749344 874532 pts/5  Sl   16:35   3:54 /home/mysql8/mysql/bin/mysqld --basedir=/home/mysql8/mysql --datadir=/home/mysql8/mysql/data --plugin-dir=/home/mysql8/mysql/lib/plugin --user=mysql --log-error=/home/mysql8/mysql/mysql_error.log --pid-file=/home/mysql8/mysql/data/hp2.pid --port=3306
root     28252  0.0  0.0 113560  1756 pts/5    S+   16:39   0:00 /bin/sh /usr/sbin/service mysqld restart
root     28259  0.0  0.0  11688  1480 pts/5    S+   16:39   0:00 /bin/sh /etc/init.d/mysqld restart
root     28275  0.1  0.0  11692  1544 pts/5    S+   16:39   0:00 /bin/sh /etc/init.d/mysqld start
root     28283  0.0  0.0  11824  1600 pts/5    S+   16:39   0:00 /bin/sh /home/mysql8/mysql/bin/mysqld_safe --datadir=/home/mysql8/mysql/data --pid-file=/home/mysql8/mysql/data/hp2.pid
mysql    28543  0.6  3.5 1128632 284168 pts/5  Sl+  16:39   0:00 /home/mysql8/mysql/bin/mysqld --basedir=/home/mysql8/mysql --datadir=/home/mysql8/mysql/data --plugin-dir=/home/mysql8/mysql/lib/plugin --user=mysql --log-error=/home/mysql8/mysql/mysql_error.log --pid-file=/home/mysql8/mysql/data/hp2.pid --port=3306
root     28736  0.0  0.0 112824   992 pts/1    S+   16:40   0:00 grep --color=auto mysql*
[root@hp2 ~]# 
[root@hp2 ~]# 
[root@hp2 ~]# kill -9 27337 27588 28252 28259 28275 28283 28543 
[root@hp2 ~]# 
[root@hp2 ~]# 
[root@hp2 ~]# ps aux |grep mysql*                               
root     28832  0.0  0.0 112824   992 pts/1    S+   16:41   0:00 grep --color=auto mysql*
[root@hp2 ~]# 
[root@hp2 ~]# 
[root@hp2 ~]# service mysqld start
Starting MySQL.......... SUCCESS! 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值