找回密码
 新建账号

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

[复制链接]
php 发表于 2024/4/25 11:54 | 显示全部楼层 |阅读模式
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

在 Linux 上使用 mysql 客户端连接 127.0.0.1 ::1 或 localhost 上的 mysql 服务器,即使使用了端口号,mysql 还是会使用 unix socket /tmp/mysql.sock 来连接本地服务器。
  1. mysql --host=localhost --port=3306 --user=root --password
复制代码
Linux mysql 客户端连接同机服务器时默认使用 unix socket.

Socket 地址可以通过 mysql 的 --socket 或 -S 参数指定,实际地址需要和 mysql 服务配置的 socket 地址保持一致。

Unix socket 是一种单机通讯方式,在内核空间中实现,不支持跨网络连接,需要运行客户端的用户和运行服务端的用户都对 unix socket 拥有权限才能通讯,比 TCP 协议更加高效安全,客户端和服务端在同一台电脑上时推荐使用 unix socket 通讯。

如果 mysql 服务没有配置 socket 地址而使用了端口号监听,可以使用 --protocol 参数来强制要求 mysql 使用端口号连接。
  1. mysql --host=localhost --port=3306 --user=root --protocol=tcp
复制代码
--protocol 参数的值可以是 tcp socket pipe memory 之一。

相关链接 --protocol unix socket

手机版|轻松E站

GMT+8, 2024/12/7 03:24

快速回复 返回顶部 返回列表