当我尝试连接mysql时,我得到以下错误:
无法通过套接字/var/lib/ MySQL / MySQL连接到本地MySQL服务器。袜子”(2)
有解决这个错误的方法吗?背后的原因可能是什么?
当我尝试连接mysql时,我得到以下错误:
无法通过套接字/var/lib/ MySQL / MySQL连接到本地MySQL服务器。袜子”(2)
有解决这个错误的方法吗?背后的原因可能是什么?
当前回答
先尝试2、3种解决方案。如果您无法找到/var/lib/mysql/mysql.sock .sock,则仍然弹出错误提示
find /var/ -name mysql.sock
检查/var/中的可用空间
df
如果目录已满,请删除一些无用的文件/目录
rm /var/cache/*
也许你的问题现在可以解决了。
其他回答
确保你启动了服务器:
mysql.server start
然后用root用户连接:
mysql -uroot
在我的情况下,我已经将套接字文件移动到/etc/my.cnf内的另一个位置 从/var/lib/mysql/mysql.Sock到/tmp/mysql.sock
即使在重新启动mysqld服务后,当我尝试连接时,我仍然看到错误消息。 错误2002 (HY000):无法通过套接字/var/lib/ MySQL / MySQL连接到本地MySQL服务器。袜子”(2)
问题在于客户端的配置方式。运行诊断将实际显示正确的套接字路径。Eg ps aux | grep mysqld
工作原理:
mysql -uroot -p -h127.0.0.1
mysql -uroot -p --socket=/tmp/mysql.sock
不工作:
mysql -uroot -p
mysql -uroot -p -hlocalhost
你可以通过在mysql配置的[client]部分中添加相同的套接字行来解决这个问题。
您正在连接到“localhost”还是“127.0.0.1”?我注意到,当您连接到“localhost”时使用套接字连接器,但当您连接到“127.0.0.1”时使用TCP/IP连接器。如果套接字连接器未启用/正在工作,则可以尝试使用“127.0.0.1”。
请检查是否有其他mysql服务正在运行。
这可能是一个愚蠢的建议,但请100%确保您的DB仍然托管在localhost。例如,如果网络管理员选择(或更改为)Amazon DB主机,您将需要该主机名!