[MYSQL] mysql_connect localhost连接慢? Singee77原创文章

发表于:3个月前  阅读量:49564

摘要

mysql_connect参数localhost与127.0.0.1有什么不同? localhost、127.0.0.1 和 本机IP 三者的区别?

最近某网站访问速度有点慢,于是使用Phpstorm的goanywhere调试后发现是由于mysql_connect 这个函数引起的。通过Google console network直观来看,在第一次进行mysql_connect操作时耗时竟1s 多!!,因此拖慢了网站的整体运行速度。

QQ截图20170608001704.png

GG之后大概了解在host文件中如果没有映射 127.0.0.1 localhost ,localhost相当于域名,和www.singee77.com是一个性质,域名最终都会被计算机解析为IP地址,所以localhost其实最终会被解析为127.0.0.1,而127.0.0.1又称为“本机IP”,是相对自己计算机而言,因为相对外网而言,打开百度搜索“ip”关键词就会搜索出本机公网IP,这才是真正意义上的本机IP,每台笔记本都有三块网卡,一块是虚拟网卡loopback,一块是有线网卡,一块是无线网卡,而127.0.0.1就是绑定在loopback的ip。


作者:知乎用户
链接:https://www.zhihu.com/question/23940717/answer/26230963
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • localhost 是个域名,不是地址,它可以被配置为任意的 IP 地址,不过通常情况下都指向 127.0.0.1(ipv4)和 [::1](ipv6)

  • 整个127.* 网段通常被用作 loopback 网络接口的默认地址,按惯例通常设置为 127.0.0.1。这个地址在其他计算机上不能访问,就算你想访问,访问的也是自己,因为每台带有TCP/IP协议栈的设备基本上都有 localhost/127.0.0.1。

  • 本机地址通常指的是绑定在物理或虚拟网络接口上的IP地址,可供其他设备访问到。

  • 最后,从开发度来看

    • localhost是个域名,性质跟 “www.baidu.com” 差不多。不能直接绑定套接字,必须先gethostbyname转成IP才能绑定。

    • 127.0.0.1 是绑定在 loopback 接口上的地址,如果服务端套接字绑定在它上面,你的客户端程序就只能在本机访问。

    • 如果主机中存在多个网卡,分别连接不同的物理网络,比如 192.168.0.1/255.255.255.0 和 192.168.1.1/255.255.255.0,那么当你的服务端套接字绑到 192.168.0.1 这个地址上时,位于 192.168.1.* 网段的其他计算机是无法连接的,只有位于192.168.0.* 网段的计算机才能访问你的服务端程序。




关键词: mysql5.6
渝ICP备16002246号 Copyright © 2017. Singee77.com