mysql 的 localhost 连接与 IP 地址连接有什么区别

1. localhost、IP

  • localhost
    localhost 代表了本主机,通过使用localhost可以访问自己主机的网络服务,http://localhost,将会显示运行这个浏览器的计算机上所服务的网站的主页。使用localhost的时候,使用的是回环网络接口,这会绕过本地网络接口硬件,独立于任何网络配置(不受网络防火墙和网卡相关的的限制)
    windows 将 localhost 解析为 127.0.0.1(IPv4)、 ::1 (IPv6)

  • localhost 与 127.0.0.1 的区别

localhost 		正确的解释是  本地服务器
127.0.0.1 		正确的解释是  本机地址(本机服务器)
localhot 		不经网卡传输,它不受网络防火墙和网卡相关的的限制。
127.0.0.1		通过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制
  • IP
    IP地址是由网络地址与主机地址两部分所组成

网络地址

网络地址可用来识别设备所在的网络,网络地址位于IP地址的前段。当组织或企业申请IP地址时,所获得的并
非IP地址,而是取得一个唯一的、能够识别的网络地址。同一网络上的所有设备,都有相同的网络地址。IP路
由的功能是根据IP地址中的网络地址,决定要将IP信息包送至所指明的那个网络。

主机地址

主机地址位于IP地址的后段,可用来识别网络上设备。同一网络上的设备都会有相同的网络地址,而各设备之
间则是以主机地址来区别。   

2. 本地连接与IP连接

MySQL有两种连接方式,一种是网络监听TCP/IP端口的模式,还有一种是socket模式。

  • socket模式
    在Linux下,socket是一种特殊的文件,也叫做套接字,是应用层与TCP/IP协议族通信的中间软件抽象层。虽然性能会比较好,但是这种socket模式仅限本机使用,其他机器无法通过网络链接连接到socket文件
  • TCP/IP端口模式
    这个就是为了让远程的应用连接到MySQL数据库的服务。
    在MySQL配置中mysqld节中,可以设置绑定的对应的IP和端口,需要重启服务

如果有使用-h指定主机的都是使用远程登录的方式,如果没有就是使用socket的方式

  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。此时,mysqlserver则认为该 client 是来自 localhost
  3. mysql权限管理中的"localhost"有特定含义:
    注意:虽然两者连接方式有区别,但当localhost为默认的127.0.0.1时,两种连接方式使用的权限记录都是以下的1.row的记录(因为记录在前,先被匹配)
  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值