MySQL数据库中使用GRANT语句增添新用户
'Y'',''Y'') mysql> INSERT INTO user SET Host=''localhost'',User=''admin'', Reload_priv=''Y'', Process_priv=''Y''; mysql> INSERT INTO user (Host,User,Password) VALUES(''localhost'',''dummy'',''''); mysql> FLUSH PRIVILEGES;
取决于你的MySQL版本,对上述,你可能必须使用一个不同数目''Y''值(在3.22.11以前的版本有更少的权限列)。对admin用户,只用在3.22.11开始的版本具有的更加可读的INSERT扩充的语法。
注意,为了设置一个超级用户,你只需创造一个user表条目,其权限字段设为''Y''。不需要db或host表的条目。
在user表中的权限列不是由最后一个INSERT语句明确设置的(对dummy用户),因此那些列被赋予缺省值''N''。这是GRANT USAGE做的同样的事情。
下列例子增加一个用户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,In |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |