localhost
中使用mysql_connect()
是否比使用127.0.0.1
更快地建立连接?mysql_connect()
函数时)?是TCP / IP吗?答案 0 :(得分:65)
答案 1 :(得分:15)
“localhost”表示本地套接字连接,而127.0.0.1是TCP / IP。是的,套接字比TCP / IP更快。
引自http://pl.php.net/mysql_connect
每当您指定“localhost”或“localhost:port”作为服务器时,MySQL客户端库将覆盖此并尝试连接到本地套接字(Windows上的命名管道)。如果要使用TCP / IP,请使用“127.0.0.1”而不是“localhost”。如果MySQL客户端库尝试连接到错误的本地套接字,则应在PHP配置中设置正确的路径,并将服务器字段留空。
答案 2 :(得分:13)
不,建议使用127.0.0.1,因为Windows 7在IPv6和Linux之间选择存在问题。 IPv4的。我尝试了这个,如果我使用localhost,页面重新加载大约1秒(1,04秒),当我使用127.0.0.1时,页面重新加载50毫秒。两者都在Windows 7下使用 在Windows XP中它没有区别。
答案 3 :(得分:0)
Php网站说:
注意:
每当指定“localhost”或 “localhost:port”作为服务器,MySQL 客户端库将覆盖此和 尝试连接到本地套接字 (在Windows上命名管道)。如果你想 要使用TCP / IP,请改用“127.0.0.1” “localhost”。如果是MySQL客户端 库试图连接错误 本地套接字,你应该设置 像PHP一样正确的路径 配置并离开服务器 场空白。
我猜速度差太小了,你不应该担心它。
答案 4 :(得分:0)
对于Unix,之后添加到客户端块
[client]
在/etc/mysql/my.cnf这一行:
protocol=tcp
答案 5 :(得分:0)
localhost 不是更快,而是慢了一点。
话虽如此,如果您正在连接到其他人;抓住我的漂移?
谁说连接的哪一边更难失败?没有人。那个:
127.0.0.1 比 localhost 的 ping 速度更快。在任何终端上尝试。
答案 6 :(得分:-1)
对于mac,这是解决方案:
在MAC上使用localhost而不是127.0.0.1连接到MySQL。很长一段时间以来,我一直在使用127.0.0.1在我的开发平台上连接MySQL,因为出于某种原因,localhost无法正常工作。原来是因为127.0.0.1使用TCP / IP而localhost使用套接字。 php.ini文件指向mysql.sock的错误位置所以你所要做的就是更改它,重新启动apache并瞧!
Open php.ini: /private/etc/php.ini
Find the following line: mysql.default_socket = /var/mysql/mysql.sock
Replace with: mysql.default_socket = /tmp/mysql.sock
Restart apache: apachectl restart
注意:如果您没有php.ini文件,则需要复制提供的名为php.ini.default的默认值
sudo cp /private/etc/php.ini.default /private/etc/php.ini
通过http://madproject.com/general/connect-to-mysql-using-localhost-instead-of-127-0-0-1-on-a-mac/