0
点赞
收藏
分享

微信扫一扫

mysql 用户表中多个host时的匹配规则

mysql数据库中user表的host字段,是用来控制用户访问数据库“权限”的。

  • 可以使用“%”,表示所有的网段;
  • 也可以使用具体的ip地址,表示只有该ip的客户端才可以登录到mysql服务器;
  • 也可以使用“_”进行模糊匹配,表示某个网段的客户端可以登录到mysql服务器。

如果在user表中存在一个用户两条不同host值的记录,那么mysql服务器该如何匹配该用户的权限呢?

mysql采用的策略是:当服务器读取user表时,它首先以最具体的Host值排序(主机名和IP号是最具体的) 。有相同Host值的条目首先以最具体的User匹配。

举例:

如下,有两条root用户,那么只有localhost的root客户端可以登录到mysql服务器。

| root    | localhost   | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| root | % | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |

 

 

 


举报

相关推荐

0 条评论