MySQL 用户与授权管理详解(二)

2014-11-24 17:50:53 · 作者: · 浏览: 1
户,任何用户均匹配空白用户名)。


3 用户应该被允许管理权限吗?


你可以允许一个数据库的拥有者通过授予数据库上的所有拥有者权限来控制数据库的访问,在授权时,指定WITH GRANT OPTION。例如:如果你想让free能从big.free.com域的任何主机连接并具有sales数据库中所有表的管理员权限,你可以用如下GRANT语句:


在效果上WITH GRANT OPTION子句允许你把访问授权的权利授予另一个用户。要注意,拥有GRANT权限的两个用户可以彼此授权。如果你只给予了第一个用户SELECT权限,而另一个用户有GRANT加上SELECT权限,那么第二个用户可以是第一个用户更“强大”。


四、撤权并删除用户
要取消一个用户的权限,使用REVOKE语句。REVOKE的语法非常类似于GRANT语句,除了TO用FROM取代并且没有INDETIFED BY和WITH GRANT OPTION子句:


REVOKE 语句的语法看上去像这样,
REVOKE
privileges (columns) ON what FROM user;


下面我们对红色部分进行具体说明,


1.user部分必须匹配原来GRANT语句的你想撤权的用户的user部分。


2.privileges部分不需匹配,你可以用GRANT语句授权,然后用REVOKE语句只撤消部分权限。
3.REVOKE语句只删除权限,而不删除用户。即使你撤销了所有权限,在user表中的用户记录依然保留,这意味着用户仍然可以连接服务器。要完全删除一个用户,你必须用一条DELETE语句明确从user表中删除用户记录,具体操作如下:


DELETE语句删除用户记录,而FLUSH语句告诉服务器重载授权表。(当你使用GRANT和REVOKE语句时,表自动重载,而你直接修改授权表时不是)。


五、总结


经过上面的说明我想大家应该对用户授权应该很清楚了,嘿嘿! ^_^……