ITPub博客

首页 > Linux操作系统 > Linux操作系统 > mysql用户权限

mysql用户权限

原创 Linux操作系统 作者:mi_zy 时间:2012-03-24 21:39:08 0 删除 编辑

 

查看用户权限

show grants for 你的用户

show grants for root@'localhost';

show grants for current_user();查看当前登陆用户的权限

 

要取消一个用户的权限,使用REVOKE语句。

REVOKE privileges (columns) ON what FROM user 

REVOKE语句只删除权限,而不删除用户。即使你撤销了所有权限,在user表中的用户记录依然保留,这意味着用户仍然可以连接服务器。要完全删除一个用户,你必须用一条Delete语句明确从user表中删除用户记录: 

%mysql -u root mysql

mysql>Delete FROM user  Where User="user_name" and Host="host_name";

mysql>FLUSH PRIVILEGES;

用GRANT、REVOKE或SET PASSWORD对授权表施行的修改会立即被服务器注意到。如果你手工地修改授权表(使用INSERT、UPDATE等等),你应该执行一个FLUSH PRIVILEGES语句或运行mysqladmin flush-privileges告诉服务器再装载授权表,否则改变将不生效,除非你重启服务器。当服务器注意到授权表被改变了时,现存的客户连接有如下影响:

·        表和列权限在客户的下一次请求时生效。

·        数据库权限改变在下一个USE db_name命令生效。

全局权限的改变和口令改变在下一次客户连接时生效。

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

CREATE和REVOKE语句影响4个表:
授权表 内容

user
能连接服务器的用户以及他们拥有的任何全局权限
db
数据库级权限

tables_priv
表级权限

columns_priv
列级权限

还有第5个授权表(host),但它不受GRANT和REVOKE的影响。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7970627/viewspace-719441/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: oracle数据同步
请登录后发表评论 登录
全部评论
***---Descartes---***

注册时间:2011-02-02

  • 博文量
    313
  • 访问量
    511913