无法使用 127.0.0.1 连接到 mysql

2023-11-25

使用以下代码我可以连接到mysql:mysql_connect("localhost","username","");

但如果我改变localhost to 127.0.0.1我收到以下错误:

无法连接到“127.0.0.1”上的 MySQL 服务器 (13)

为什么 127.0.0.1 不起作用?


localhost是一种特殊情况,使用 UNIX 套接字而不是 TCP/IP。127.0.0.1没有得到那种特殊的处理。

See 文档:

在 Unix 上,MySQL 程序特别对待主机名 localhost,与其他基于网络的程序相比,其方式可能与您期望的不同。对于到本地主机的连接,MySQL 程序尝试使用 Unix 套接字文件连接到本地服务器。即使使用 --port 或 -P 选项来指定端口号,也会发生这种情况。要确保客户端与本地服务器建立 TCP/IP 连接,请使用 --host 或 -h 指定主机名值 127.0.0.1,或者本地服务器的 IP 地址或名称。您还可以使用 --protocol=TCP 选项显式指定连接协议,甚至对于 localhost 也是如此。

如果使用 TCP/IP 时它不起作用,则数据库可能没有在网络上侦听。这通常是一件好事,因为它增强了安全性(并不是侦听 127.0.0.1 会暴露任何问题,而是侦听所有接口会提供更多攻击机会)。

如果您确实想允许通过网络进行连接,请参阅跳过网络.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用 127.0.0.1 连接到 mysql 的相关文章

随机推荐