我看到following statement on StackOverflow并且想知道它的含义:
如果你通过'localhost'连接,连接将自动通过MySQL套接字建立,这非常便宜。
讨论主题很陈旧,所以我不想对它发表评论 基本上我的理解是,在连接到mysql数据库时使用'localhost'具有一定的优势 - 例如“通过MySQL套接字自动建立连接”。这究竟意味着什么?
目前我正在使用
mysql_connect("73.21.24.201", [...]);
(更改为随机IP地址)
它有什么不同吗?我可以将其更改为“localhost”而不必担心吗? (mysql服务器显然与我的网站/应用程序在同一服务器/ IP地址上)
答案 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}}