MySQL 连接错误:”Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)”

MySQL 连接错误:”Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)”

当您运行MySQL数据库时,可能会遇到以下错误消息:

Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

这种错误表明,MySQL无法从应用程序中找到socket文件进行连接。这通常是由于MySQL服务器未启动,或者socket文件已经删除或被移动所致。这篇文章将介绍一些解决此问题的常见方法。

阅读更多:MySQL 教程

方法一:检查MySQL服务器是否正在运行

在开始尝试修复socket连接错误之前,请确保MySQL服务器正在运行。您可以通过运行以下命令来检查MySQL服务器的状态:

systemctl status mysql

如果MySQL服务器正在运行,您应该看到类似以下内容的输出:

● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-12-24 08:33:33 UTC; 1 day 21h ago
 […]

如果MySQL未运行,则可以将MySQL启动或重新启动以解决此问题。您可以通过以下命令来启动MySQL:

sudo systemctl start mysql

您可以使用下面的命令来重新启动MySQL:

sudo systemctl restart mysql

方法二:寻找并重置socket

如果MySQL服务器正在运行,但仍然出现连接错误,则可以寻找与socket连接有关的配置文件。默认情况下,MySQL socket文件的路径是/var/lib/mysql/mysql.sock。

可以通过应用下面的命令来查找该文件的位置:

sudo find / -type s

该命令会搜索系统上的所有socket文件,您需要查找类似以下的输出:

/var/run/dbus/system_bus_socket
/var/run/docker.sock
/run/docker.sock
/run/systemd/journal/syslog
/run/systemd/private
tmp/mysql.sock

如果您看到/tmp/mysql.sock这样的输出,则MySQL正在使用mysql.sock文件进行连接。您可以在MySQL的配置文件中进行更改来指定不同的socket文件路径。

另一种解决方法是删除MySQL服务器创建的socket文件,因为有时文件可能会损坏或删除。然后,您可以重新启动MySQL以重新创建socket文件。您可以通过以下命令来删除socket文件:

sudo rm /var/lib/mysql/mysql.sock

利用以上的方法,您可以解决MySQL无法连接的socket错误。但在进行修改配置文件或删除文件之前,确保对文件进行正确备份或者再三确认操作是否与实际相符。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程