likes
comments
collection
share

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mys

作者站长头像
站长
· 阅读数 17

记录一次异常

解决本地无法连接的问题

上到线上服务器后,本地无法连接,远程连接就是UnKnown error。

本地登录显示

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mys

于是进入Mysql安装目录启动mysql.server

实际还是docker好用一点

start serber仍然失败

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mys

查询中发现这样一段话

mysql 支持 socket 和 TCP/IP 连接。那么 mysql.sock 这个文件有什么用呢?连接localhost通常通过一个Unix域套接字文件进行,一般是/tmp/mysql.sock。如果套接字文件被删除了,本地客户就不能连接。/tmp 文件夹属于临时文件,随时可能被删除。

和我的症状很像

遂使用如下语句连接数据库 成功

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mys

要是自己的服务器就去配一下client重启服务了,不过是公司线上服务器,还是老老实实选择这个折中的办法。

解决远程无法连接的问题

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mys

开始排查问题,首先考虑是不是3306端口没开,ping了一下果然是

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mys

开了就好