
上一页 1 2 3 4 5 6 7 8 9 10 11 下一页
值‘%’总是与任何主机相配,用于允许某个用户从任何地方进行连接。空白的H o s t的值与‘%’含义相同(例外:在db 表中,空白的Host 值含义是“检查host 表的进一步的信息”。
自MySQL3.23 以来,还可以利用表明网络号的二进制位数的网络掩码指定IP 号。例如, 192.168.128.0/17 指定17 位的网络号并用IP 地址的前17 位中的19 2 . 16 8 . 12 8与所有主机相配。
User 用户名必须或者是直接量或者是空白的(空)。空白值与任何用户相配。作为User 值的% 不意味着空白,相反,它与带有% 的直接名字的用户相配,这可能不是您想要的东西。
当一个输入的连接对应user 表进行检查并且相配的项包含一个空白的User 值时,客户机被认为是匿名用户。
Password 口令值或者是空白的(空)或者是非空的,但不允许通配符。空白的口令并不是说与任何口令相配。它的意思是用户不必指定口令。口令以加密值而不是以直接值被存储。如果在Password 列存储了一个直接的口令,则该用户将不能连接!GRANT 语句和mysqladmin password 命令自动对口令进行加密,但是,如果使用像INSERT、REPLACE、UPDATE或SET PASSWORD 这样的语句,则必须用PA S S W O R D (“N E W _ PA S S W O R D”) 而不是简单地用“n e w _ pass w o r d” 来指定口令。
Db 在columns_priv 和tables_priv 表中,Db 值必须是直接的数据库名,不允许模式和空白名。在dn 和host 表中,Db 值可以用直接量指定,或通过使用指定通配符的SQL 模式字符‘%’或‘_’来指定。% 值或空白将与任何数据库相配。
Ta b l e _ name、Column_name 这些列中的值必须是直接量的表名或列名,模式值和空白是不允许的。
有些作用域列由服务器视为区分大小写的,其他的则不是。这些规则已在表12 - 3中总结。特别注意, Table_name 值始终是区分大小写的,即使查询中的表名处理是根据服务器运行的文件系统,其大小写敏感性也是如此(在Unix 中区分大小写,而在Windows 中不区分大小写)。

2. 查询访问检查
每当您发布查询时,服务器都要检查您是否有足够的权限来执行查询。它是通过依次检查user、db、table_priv 和columns_priv 表来进行的,直到它确定您有适当的访问权或徒然地搜索了所有的表为止。更准确地说:
英特尔 酷睿(TM)2双核,送指纹识别器一个,再赠两份好礼,请电800-858-2418