mysql 权限管理浅析

mysql 最好的特性之一是直至复杂的权限系统。

操作命令:

GRANT 赋予权限

REVOKE 取消用户权限

mysql的权限分4个等级:全局、数据库、表、列

先举例说明,如何添加一个用户以及如何删除用户权限

GRANT  all  ON *  TO 'username'@'192.168.2.2'  IDENTIFIED BY '1234'  WITH GRANT OPTION;

其中第一个* 代表所有权限,第二个*.*代表所有库中所有表,@后面的ip代表此ip下此用户名的权限, ‘1234’ 为这个用户的密码 ,如果你仅仅执行了以上命令,你利用这个用户只能在192.168.2.2 登录。WITH GRANT OPTION 代表允许此用户向别人授予自己所拥有的权限。

注:mysql中的用户名其实是有两部分组成的 User和Host,如果你在创建用户的时候没有指明@后面的内容,默认为% 代表任何host;你可以为一个User设置在不同Host下不同的权限甚至不同的密码。如果我执行了两条命令,一个指定了ip另一个没有指定ip( 直接用username或username@host),那我在指定的ip登录用户,选择的是哪个权限呢。根据实验它的匹配原则是:先进行指定ip匹配,如果没有会匹配是否存在%。

REVOKE ALL PRIVILEGES,GRANT FROM username@192.168.2.2;

删除上命令创建用户的所有权限。

下面列出GRANT以及REVOKE的完整形式

GRANT命令的完整形式是:


GRANT privileges [columns] 

ON item 

To  user_name  [IDENTIFIED BY 'password']

[REQUIRE ssl_options]

[WITH [GRANT OPTION | limit_options] 


其中方括号中的部分是可选的

privileges: 逗号分开的权限,这些权限包括SELECT ,INSERT, UPDATE,DELETE,INDEX,ALTER,CREATE,DROP

columns: 逗号分开的列名,用于对某列的权限控制

item        : 新权限作用的数据库或表,形式如db.table,

REQUIRE:是否必须加密套接字连接,

WITH [GRANT OPTION :是否允许权限管理(此用户使用grant的权利)

REVOKE命令的完整形式

REVODE privileges [(columns)]

ON item

FROM user_name;

如果grant命令用了 WITH GRANT OPTION 可以如下方式撤销

REVOKE ALL PRIVILEGES,GRANT FROM  user_name;




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值