教学之友,学习之友。

站长教学网

当前位置: 站长教学网 > 数据库 > MYSQL教程 >

MySQL数据库如何新增加用户的2种方法(2)

时间:2012-04-07 00:04来源:未知 作者:ken 点击:

  下列例子增加一个用户custom,他能从主机 localhost、server.domain和whitehouse.gov连接。他只想要从localhost存取bankaccount数据库,从whitehouse.gov存取expenses数据库和从所有3台主机存取customer数据库。他想要从所有3台主机上使用口令stupid。

  为了使用GRANT语句设置个用户的权限,运行这些命令:

  shell> mysql --user=root

  mysql mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP

  ON bankaccount.*

  TO custom@localhost

  IDENTIFIED BY 'stupid';

  mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP

  ON expenses.*

  TO custom@whitehouse.gov

  IDENTIFIED BY 'stupid';

  mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP

  ON customer.*

  TO custom@'%'

  IDENTIFIED BY 'stupid';

  通过直接修改授权表设置用户权限,运行这些命令(注意,在结束时FLUSH PRIVILEGES):

  shell> mysql --user=root

  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

  ('whitehouse.gov','expenses','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('%','customer','custom','Y','Y','Y','Y','Y','Y');

  mysql> FLUSH PRIVILEGES;

  头3个INSERT语句增加user表条目,允许用户 custom用给定口令从不同的主机进行连接,但是没有授予任何许可(所有权限被设置为缺省值'N')。后3个INSERT语句增加db表条目,授予 custom以bankaccount、expenses和customer数据库权限,但是只能在从正确的主机存取时。通常,在授权表直接被修改时,服务器必须被告知再次装入他们(用FLUSH PRIVILEGES)以便使权限修改生效。 如果你想要给特定的用户从一个给定的域上的任何机器上存取权限,你可以发出一个如下的GRANT语句:站长教学网 eduyo.com

  mysql> GRANT ...

  ON *.*

  TO myusername@"%.mydomainname.com"

  IDENTIFIED BY 'mypassword';

  为了通过直接修改授权表做同样的事情,这样做:

  mysql> INSERT INTO user VALUES ('%.mydomainname.com', 'myusername',

  PASSWORD('mypassword'),...);

  mysql> FLUSH PRIVILEGES;

  你也可以使用xmysqladmin、mysql_webadmin甚至xmysql在授权表中插入、改变和更新值。你可以在MySQL的Contrib目录找到这些实用程序。

(责任编辑:ken)
TAG标签: mysql 用户 GRANT
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
注册登录:不允许匿名留言,登录后留言无需输入验证码。
栏目列表
最新内容