localhost,127.0.0.1和ip区别
localhost与127.0.0.1的区别
localhost与127.0.0.1的区别是什么?相信有人会说是本地ip,曾有人说,用127.0.0.1比localhost好,可以减少一次解析。看来这个入门问题还有人不清楚,其实这两者是有区别的。
no1:
localhost也叫local ,正确的解释是:本地服务器
127.0.0.1在windows等系统的正确解释是:本机地址(本机服务器)
他们的解析通过本机的host文件,windows自动将localhost解析为127.0.0.1
no2:
localhot(local)是不经网卡传输!这点很重要,它不受网络防火墙和网卡相关的的限制。
127.0.0.1是通过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制。
本机IP 也是通过网卡传输的,依赖网卡,并受到网络防火墙和网卡相关的限制。
但是本机IP与127.0.0.1的区别是:
127.0.0.1 只能通过本机访问
本机IP 通过本机访问也能通过外部访问
一般设置程序时本地服务用localhost是最好的,localhost不会解析成ip,也不会占用网卡、网络资源。
有时候用localhost可以,但用127.0.0.1就不可以的情况就是在于此。猜想localhost访问时,系统带的本机当前用户的权限去访问,而用ip的时候,等于本机是通过网络再去访问本机,用的到网络用户的权限。
实例:
1. mysql -h 127.0.0.1 的时候,使用TCP/IP连接,
mysql server 认为该连接来自于127.0.0.1或者是”localhost.localdomain”
2. mysql -h localhost 的时候,是不使用TCP/IP连接的,而使用Unix socket;
此时,mysql server则认为该client是来自”localhost”
3. mysql权限管理中的”localhost”有特定含义:
—— MySQL手册 5.6.4 ….. A Host value may be a hostname or an IP number, or ‘localhost’ to indicate the local host.
注意:虽然两者连接方式有区别,但当localhost 为默认的127.0.0.1时,两种连接方式使用的权限记录都是以下的1.row的记录(因为记录在前,先被匹配)
*************************** 1. row ***************************
Host: localhost
User: root
……
*************************** 2. row ***************************
Host: 127.0.0.1
User: root
证明:
shell> mysql -h 127.0.0.1
mysql> status;
Current user: root@127.0.0.1
SSL: Not in use
Current pager: stdout
Using outfile: ”
Using delimiter: ;
Server version: 5.1.33-log Source distribution
Protocol version: 10
Connection: 127.0.0.1 via TCP/IP
shell> mysql -h locahost
mysql> status;
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ”
Using delimiter: ;
Server version: 5.1.33-log Source distribution
Protocol version: 10
Connection: Localhost via UNIX socket
shell> mysql -h XXXX(ip)
mysql> status;
Current user: root@ip
SSL: Not in use
Current pager: stdout
Using outfile: ”
Using delimiter: ;
Server version: 5.1.33-log Source distribution
Protocol version: 10
Connection: XXXX(ip) via TCP/IP
分享到:
相关推荐
在MySQL数据库系统中,连接方式通常分为通过主机名(如localhost)和IP地址(如127.0.0.1)两种。当你遇到“mysql不能用localhost,127.0.0.1连接,只能用ip连接”的问题时,这可能是由于MySQL配置文件中的设置或用户...
localhost与127.0.0.1的区别是什么?相信有人会说是本地ip,曾有人说,用127.0.0.1比localhost好,可以减少一次解析。看来这个入门问题还有人不清楚,其实这两者是有区别的
总结起来,`localhost` 和 `127.0.0.1` 在MySQL连接中的主要区别在于它们使用的通信机制,`localhost` 通过Unix域套接字实现高效本地通信,而 `127.0.0.1` 则使用TCP/IP协议栈,适合远程访问场景或跨网络通信。...
MySQL数据库在配置和使用过程中,有时会遇到主机名设置为`127.0.0.1`或`localhost`的区别。这两个概念虽然都代表本地主机,但在连接MySQL数据库时,它们之间存在微妙的差异。 首先,`127.0.0.1`是一个特殊的IP地址...
一个chrome插件,可以将domain为127.0.0.1/localhost的网址自动转换成对应的本地IP地址形式的网址,并生成二维码供移动设备扫描,用于移动端的网页开发调试。 #为什么开发这个插件? 在本地开发好移动端网页后,必须...
主要介绍了解决VUE项目localhost端口服务器拒绝连接,只能用127.0.0.1的问题
2. **Proxy-Client-IP** 和 **WL-Proxy-Client-IP**:这两个头部字段相对较少见,但在某些特定的环境下也可能包含客户端的真实IP地址。 3. **request.getRemoteAddr()**:如果以上头部都无法提供有效信息,则最后...
标题中的"ASP本地调试工具,127.0.0.1"表明这个工具是为在本地计算机上运行ASP应用并使用localhost(127.0.0.1)进行调试而设计的。127.0.0.1是一个特殊的IP地址,代表本地环回接口,通常用于指向本机的网络服务。 ...
route命令允许用户手动配置和修改IP路由表,其主要选项有add(添加)、change(修改)和delete(删除)。在路由表中,可以定义IP地址的网络目标(network destination)和网络掩码(subnet mask),以及到达该目标应...
`localhost`是通过Unix域套接字(socket)进行通信,而`127.0.0.1`是通过TCP/IP协议进行连接。 在Mac OS Lion及后续版本中,系统预装了Apache和PHP,这意味着默认配置可能与你自定义安装的MySQL服务存在冲突。当你...
连接MySQL数据库有两种方式:TCP/IP(一般理解的端口的那种)和Unix套接字(一般叫socket或者sock)。大部分情况下,可以用localhost代表本机127.0.0.1,但是在MySQL连接时,二者不可混用,而且MySQL中权限设置中...
当后端接口位于不同的IP地址和端口时,通过配置代理来模拟这些接口的环境尤为重要。本文将详细介绍如何在Vue项目中使用proxy配置不同端口和IP接口的问题解决方法,包括代理配置的基本概念、配置方法以及部署到线上...
这是因为 127.0.0.1 是回环地址,也就是localhost的IP地址,当服务监听这个地址时,只能通过本地回环地址访问服务,而无法通过其他地址访问。 监听 192.168.1.200 当服务监听 192.168.1.200 时,只能服务器通过 ...
它通常被解析为IP地址127.0.0.1或::1,在大多数情况下,localhost域名都是可以正常工作的。但是,在某些情况下,localhost域名可能会出现奇怪的404错误,这是因为localhost域名的解析方式和其他域名不同所导致的。 ...
例如,初始化一个TGStack对象,然后调用其GetHostByName函数,传入“localhost”或“127.0.0.1”,它会返回与之关联的所有网络接口的IP地址列表。从中筛选出非回环地址(非127.0.0.1),即可得到内网IP地址。 3. ...