网络编程
位置:首页>> 网络编程>> 数据库>> 如何实现My SQL中的用户的管理问题(3)

如何实现My SQL中的用户的管理问题(3)

 来源:ddvip.com 发布时间:2008-12-03 13:56:00 

标签:

下面是演示系统是如何进行搜索的:

<
  +-----------+---------+-
  | Host | User | ...
  +-----------+---------+-
  | % | root | ...
  | % | jeffrey | ...
  | localhost | root | ...
  | localhost | | ...
  +-----------+---------+-
  搜索的顺序应当是:
  localhost/root
  localhost/any
  any/jeffrey
  any/root

这样,如果在localhost的用户jeffrey要连接数据库的话,那么其授权应当根据localhost/&ldquo;任意&rdquo; 行所规定的权限而非&ldquo;任意&rdquo;/jeffrey行所规定的权限,请大家注意这一点,因为如果不合适的配置完全可能会使得你无法正常地使用这个数据库系统。

我们现在来看一个添加一个用户的例子:需要添加一名叫做&ldquo;custom&rdquo;用户,他分别从主机'localhost', 'server.domain' 和 'whitehouse.gov'连接到数据库中,他的口令为&ldquo;stupid&rdquo;,对于数据库'bankaccount'他只想从&ldquo;localhost&rdquo;进行访问,而&ldquo;customer&rdquo;数据库则应当被上述3个主机所访问。我们通过以下的sql语句来完成其操作。


  shell> mysql mysql.
  mysql> insert into user (host,user,password)
  values('localhost','custom',password('stupid'));
  mysql> insert into user (host,user,password)
  values('server.domain','custom',password('stupid'));
  mysql> insert into user (host,user,password)
  values('whitehouse.gov','custom',password('stupid'));
  mysql> insert into db
  (host,db,user,Select_priv,Insert_priv,Update_priv,Delete_priv,
  Create_priv,Drop_priv)
  values
  ('localhost','bankaccount','custom','Y','Y','Y','Y','Y','Y');
  mysql> insert into db
  (host,db,user,Select_priv,Insert_priv,Update_priv,Delete_priv,
  Create_priv,Drop_priv)
  values
  ('%','customers','custom','Y','Y','Y','Y','Y','Y');

3、授权数据表

授权数据表对表的行操作包括select,insert,update和delete,对表和数据库的操作包括create和drop。其它的授权还包括如LOAD DATA INFILE和SELECT INTO OUTFILE和管理命令:shutdown, reload, refresh 和process.三个授权数据表的结构如下所示:

user表

字段 类型 健 默认值


  Host char(60) PRI ""
  User char(16) PRI ""
  Password char(16) - ""
  Select_priv enum('N','Y') - N
  Insert_priv enum('N','Y') - N
  Update_priv enum('N','Y') - N
  Delete_priv enum('N','Y') - N
  Create_priv enum('N','Y') - N
  Drop_priv enum('N','Y') - N
  Reload_priv enum('N','Y') - N
  Shutdown_priv enum('N','Y') - N
  Process_priv enum('N','Y') - N
  File_priv enum('N','Y') - N

db表

字段 类型 健 默认值


  Host char(60) PRI ""
  Db char(64) PRI ""
  User char(16) PRI ""
  Select_priv enum('N','Y') - N
  Insert_priv enum('N','Y') - N
  Update_priv enum('N','Y') - N
  Delete_priv enum('N','Y') - N
  Create_priv enum('N','Y') - N
  Drop_priv enum('N','Y') - N

host 表只有在db的数据项中出现host为空的情况下使用。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com