你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / Linux开发
MySQL中文参考手册---6 MySQL 存取权限系统(13)
 

下面的例子显示出各种user表中HostUser条目的值的组合如何应用于到来的连接:

HostUser被条目匹配的连接thomas.loc.govfredfred,从thomas.loc.gov连接thomas.loc.gov任何用户,从thomas.loc.gov连接%fredfred,从任何主机连接%任何用户,从任何主机连接%.loc.govfredfred,从在loc.gov域的任何主机连接x.y.%fredfred,从x.y.netx.y.com,x.y.edu等联接。(这或许无用)144.155.166.177fredfred,从有144.155.166.177IP地址的主机连接144.155.166.%fredfred,从144.155.166C类子网的任何主机连接

既然你能在Host字段使用IP通配符值(例如,144.155.166.%匹配在一个子网上的每台主机),有可能某人可能企图探究这种能力,通过命名一台主机为144.155.166.somewhere.com。为了阻止这样的企图,MySQL不允许匹配以数字和一个点起始的主机名,这样,如果你用一个命名为类似1.2.foo.com的主机,它的名字决不会匹配授权表中Host列。只有一个IP数字能匹配IP通配符值。

一个到来的连接可以被在user表中的超过一个条目匹配。例如,一个由fredthomas.loc.gov的连接匹配多个条目如上所述。如果超过一个匹配,服务器怎么选择使用哪个条目呢?服务器在启动时读入user表后通过排序来解决这个问题,然后当一个用户试图连接时,以排序的顺序浏览条目,第一个匹配的条目被使用。

user表排序工作如下,假定user表看起来像这样:

+-----------+----------+-|Host|User|...+-----------+----------+-|%|root|...|%|jeffrey|...|localhost|root|...|localhost||...+-----------+----------+-

当服务器在表中读取时,它以最特定的Host值为先的次序排列(%Host列里意味着“任何主机”并且是最不特定的)。有相同Host值的条目以最特定的User值为先的次序排列(一个空白User值意味着“任何用户”并且是最不特定的)。最终排序的user表看起来像这样:

+-----------+----------+-|Host|User|...+-----------+----------+-|localhost|root|...|localhost||...|%|jeffrey|...|%|root|...+-----------+----------+-

当一个连接被尝试时,服务器浏览排序的条目并使用找到的第一个匹配。对于由jeffreylocalhost的一个连接,在Host列的localhost条目首先匹配。那些有空白用户名的条目匹配连接的主机名和用户名。(%/jeffrey条目也将匹配,但是它不是在表中的第一匹配。)

(编辑:aniston)

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089