当我尝试连接mysql时,我得到以下错误:

无法通过套接字/var/lib/ MySQL / MySQL连接到本地MySQL服务器。袜子”(2)

有解决这个错误的方法吗?背后的原因可能是什么?


当前回答

我做了以下更改

在[mysqld]和my.cnf的[client]中都提到了socket的任何路径,并重新启动mysql

[mysqld] 插座= / var / lib / mysql / mysql。袜子

(客户端) 套接字= / var / lib / mysql / mysql.sock

其他回答

Navicat15:无法通过套接字/var/lib/ MySQL / MySQL .sock连接到本地MySQL服务器

Ubuntu16.04版本,如果mysql服务器正在运行,在/etc/mysql中配置如下:

[mysqld] socket = /var/run/mysqld/mysqld.sock

那么Navicat15 localhost的默认设置是: " / var / lib / mysql / mysql.sock”

你可以像这样提前编辑:

MySQL服务器没有运行,或者那不是它的套接字文件的位置(检查my.cnf)。

我没有从上面所有的答案中找到任何解决方案,我确实有mariadb安装,从Debian 11的源代码安装(不是从Debian apt包)。所以每当我在终端中触发mysql命令时,我都会得到这个错误:

ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (2)

和mysql错误日志只显示相同的错误套接字上面,这是我很难知道背后的原因

我所做的是删除我的发行版中有mariadb依赖文件的mailutils包。

因此,我只需要触发这两个命令

apt -y remove mailutils
apt -y autoremove

当我在终端运行mysql命令时,我再也没有socket错误了

检查你的mysqld服务是否正在运行,如果没有,启动服务。

如果您的问题没有解决,请查找/etc/my.cnf并按以下方式进行修改,在这里您将看到以socket开头的一行。在进行此更新之前对该文件进行备份。

socket=/var/lib/mysql/mysql.sock  

改变

socket=/opt/lampp/var/mysql/mysql.sock -u root

如果你的mysql之前是工作的,突然停止了,就“重启”服务器。

在我的CentOS vps上遇到了这个问题->

不断得到

无法通过套接字/var/lib/ MySQL / MySQL .sock连接到本地MySQL服务器(2)

尝试了所有的技术,最终重新启动服务器修复了问题->

立即关闭-r

希望这能有所帮助!!