mysql.user表中Host为%的含义

本文详细解析了MySQL配置文件中Host参数的作用,包括如何使用通配符%来允许特定范围的IP地址访问,以及本地主机localhost和127.0.0.1的区别。此外,还解释了%不能替代这两种地址的原因。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Host列指定了允许用户登录所使用的IP,比如user=root Host=192.168.1.1。这里的意思就是说root用户只能通过192.168.1.1的客户端去访问。

  而%是个通配符,如果Host=192.168.1.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连接。如果Host=%,表示所有IP都有连接权限。、

  这也就是为什么在开启远程连接的时候,大部分人都直接把Host改成%的缘故,为了省事。


mysql的%虽然表示是任何主机,但是它只是针对于通过TCP/IP连接过来的主机。类似于mysql -h 172.16.0.3这种。

另外还有两种:

1、localhost

2、127.0.0.1

%不能替代上面两种,也就是说,你在本机用mysql -hlocalhost(等同于mysql 不指定-h),mysql -h127.0.0.1方式连接数据库,MySQL的权限验证模块都会采用不同的方式。


转载于:https://my.oschina.net/u/1424662/blog/485114

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值