localhost与127.0.0.1的区别是什么?相信有人会说是本地ip,曾有人说,用127.0.0.1比localhost好,能够减小一次解析。看来这个入门问题还有人不清楚,其实这二者是有区别的。mysql
一、linux
localhost也叫local ,正确的解释是:本地服务器sql
127.0.0.1在windows等系统的正确解释是:本机地址(本机服务器)windows
他们的解析经过本机的host文件,windows自动将localhost解析为127.0.0.1服务器
二、网络
localhot(local)是不经网卡传输!linux下,localhost默认是指unix socket,这点很重要,它不受网络防火墙和网卡相关的的限制。dom
127.0.0.1是经过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制。socket
本机IP 也是经过网卡传输的,依赖网卡,并受到网络防火墙和网卡相关的限制。tcp
可是本机IP与127.0.0.1的区别是:ide
127.0.0.1 只能经过本机访问
本机IP 经过本机访问也能经过外部访问
通常设置程序时本地服务用localhost是最好的,localhost不会解析成ip,也不会占用网卡、网络资源。
有时候用localhost能够,但用127.0.0.1就不能够的状况就是在于此。猜测localhost访问时,系统带的本机当前用户的权限去访问,而用ip的时候,等于本机是经过网络再去访问本机,用的到网络用户的权限。
Mysql
当主机填写为localhost时mysql会采用 unix domain socket链接
当主机填写为127.0.0.1时mysql会采用tcp方式链接