打印本文 打印本文 关闭窗口 关闭窗口
MYSQL用户帐号管理(3)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数673  更新时间:2009/4/22 20:44:48  文章录入:mintao  责任编辑:mintao
GRANT ALL ON samp_db.* TO fred@%.snake.net IDENTIFIEDBY "cocoa"
    这里的意图是允许用户fred 从snake.net 域的所有主机中进行连接,并且具有对samp_db 数据库的所有权限。事实上, fred 能够从那些主机中连接(除了服务器主机本身外)。当fred 试着从服务器主机中进行连接时,该企图以“访问被拒绝”的消息而告失败。
即使用户指定了正确的口令也是如此。
    如果授权表中包含了由mysql_install_db 安装脚本安装的缺省项,这种情况也会发生。其原因是,当服务器验证fred 连接的企图时,一个匿名用户项( anonymous-user entry)比fred 项优先。匿名用户项要求该用户不用口令来连接,并且一个口令错误匹配发生。
该问题的另一个背景将在第12章“权限难题,第二部分”中给出。目前,只要说修正此问题的方法是从user 表中删除匿名用户项就足够了,我们不能用R E V O K E,因为该命令只删除权限。要想完全摆脱这些匿名项,执行如下操作:
    % mysql-uroot mysql    mysql> DELETE FROM user where User="";
    mysql>FLUSH PRIVILEGES;
    现在,当fred 试图从本地主机连接时成功了。

打印本文 打印本文 关闭窗口 关闭窗口