Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock‘ (2)

完整报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'(2)

解决方案:

此mysql是通过docker部署的,而不是部署到本地

首先确认下报错类型:

先解释下报错原因:

在 Docker 部署的 MySQL 中,通常不会使用本地套接字来连接 MySQL 服务器,而是通过网络端口进行连接。因此,报错中提到的无法连接到本地 MySQL 服务器的套接字是不适用的。这可能是因为你的 MySQL 客户端尝试使用本地套接字进行连接,而 Docker 容器中的 MySQL 服务器并未配置为使用本地套接字。

因此解决方案如下,通过网络端口进行连接:

在 MySQL 客户端中,指定 Docker 容器的 IP 地址和端口来连接 MySQL 服务器,而不是使用本地套接字。

mysql -h <container_ip> -P <container_port> -u <username> -p

其中 <container_ip> 是 Docker 容器的 IP 地址,<container_port> 是 MySQL 服务器暴露的端口,<username> 是数据库用户名。

一般docker容器的ip地址为:127.0.0.1,mysql服务暴露的端口为启动容器时设置的端口。