mysql_connect:IP地址还是Localhost?

时间:2014-10-16 20:27:43

标签: mysql sockets

我看到following statement on StackOverflow并且想知道它的含义:

  

如果你通过'localhost'连接,连接将自动通过MySQL套接字建立,这非常便宜。

讨论主题很陈旧,所以我不想对它发表评论 基本上我的理解是,在连接到mysql数据库时使用'localhost'具有一定的优势 - 例如“通过MySQL套接字自动建立连接”。这究竟意味着什么?

目前我正在使用 mysql_connect("73.21.24.201", [...]);
(更改为随机IP地址)
它有什么不同吗?我可以将其更改为“localhost”而不必担心吗? (mysql服务器显然与我的网站/应用程序在同一服务器/ IP地址上)

1 个答案:

答案 0 :(得分:0)

当您连接到' localhost'您将使用Unix socket进行连接,disable networking completely只是本地进程使用的通信渠道。这样做的一大优点是你可以在MySQL中They have been deprecated for years and are inefficient and insecure.,并且可以消除随之而来的任何处理开销和安全风险。

当MySQL启动时,它会创建一个套接字文件(通常位于/var/lib/mysql/mysql.sock之类的地方),客户端程序需要能够找到该文件。在一个典型的PHP(你没有说,但我是假设)设置,它应该知道在哪里找到这个套接字。如果没有,请检查/etc/my.cnf/etc/php.ini以确保值匹配。

最后,如果是PHP,请立即停止在PHP中使用mysql_*()函数! {{3}}