MySQL的用户设置与授权
2009-01-04 11:15:58 来源:WEB开发网WITH GRANT OPTION子句给与用户有授予其他用户在指定的权限水平上的任何权限的能力。你应该谨慎对待你授予他grant权限的用户,因为具有不同权限的两个用户也许能合并权限!
创建用户并授权的实例
创建一个具有超级用户权利的用户:
mysql>GRANT ALL ON *.* TO anyname@localhost IDENTIFIED BY "passwd"->WITH GRANT OPTION
该语句将在user表中为anyname@localhost创建一个记录,打开所有权限。
数据库级权限用一个ON db_name.*子句而不是ON *.*进行授权:
mysql>GRANT ALL ON sample.* TO boris@localhost IDENTIFIED BY "ruby"
这些权限不是全局的,所以它们不存储在user表中,我们仍然需要在user表中创建一条记录(使得用户能连接),但我们也需要创建一个db表记录记录数据库集的权限。
直接修改授权表创建用户并授权
如果你还记得前面的介绍,你应该能即使不用GRANT语句也能做GRANT做的事情。记住在你直接修改授权表时,你将通知服务器重载授权表,否则他不知道你的改变。你可以执行一个mysqladmin flush-privileges或mysqladmin reload命令和FLUSH PRIVILEGES语句强迫一个重载。如果你忘记做这个,你会疑惑为什么服务器不做你想做的事情。
下列GRANT语句创建一个拥有所有权的超级用户。包括授权给别人的能力:
GRANT ALL ON *.* TO anyname@localhost IDENTIFIED BY "passwd" WITH GRANT OPTION
该语句将在user表中为anyname@localhost创建一个记录,打开所有权限,因为这里是超级用户(全局)权限存储的地方,要用INSERT语句做同样的事情,语句是:
INSERT INTO user VALUES("localhost","anyname",PASSWORD("passwd"),
更多精彩
赞助商链接