mysql用户管理和权限管理

用户管理

  用户管理语法

*创建用户:create user '用户名'@'使用范围' identified by 密码
*修改用户名:rename user  '用户名'@'使用范围' to 'yy'@'使用范围'
*修改密码:alter user '用户名'@'使用范围' identified by 新密码
*删除用户:drop user '用户名'@'使用范围'

-- 创建用户
create user 'zs'@'locahost'identifide by 123456
-- 修改用户名字
rename user 'zs'@'locahost' to 'ls'@'locahost'
-- 修改密码
alter user 'ls'@'locahost' identified by '123'
-- 删除用户
drop user 'xx'@'locahost'

权限管理

含义:对于一些操作,有权限才能进行操作。

下面看看mysql执行一条语句的时候,是怎么检索用户是否具有执行权限的吧

 从图我们知道,mysql在收到提交请求后,会先从user表中查看该用户是否具有全局权限,一但具有,就会执行操作;如果没有,就会查看db表,看该用户是否具有数据库级别权限,如果没有,依次向下检查tables_priv表级权限,columns_priv字段级别权限,直到最后都没有检查到该用户具有操作权限,就会拒接此操作。

下面来看看怎么给用户授权

 语法:

*   指定库.指定表如果是*.*代表全局权限

* with grant option 代表该用户可以把自身权限赋予给其他用户(一般不使用)

-- 授权
grant 指定权限 on 指定库.指定表 to 用户 [with grant option];


-- 回收权限
revoke 指定权限,[grant optioin] on 指定库.指定表 from 用户;

-- 查看权限
show grants for 用户;

 示例:

-- 给zs授予所有库中所有表的select权限
grant select on *.* to 'zs'@'localhost';

-- 给yy授予所有库中所有表的全部权限,并且yy用户可以将全部权限授予其他用户
grant all privileges on *.* to 'yy'@'localhost' with grant option;

-- 给yy用户授予xx数据库中user表的删除、更新id列的权限
grant delete,update(id) on xx.user to 'yy'@'localhost';

-- 收回yy用户在所有库中的所有表的所有权限
revoke all privileges on *.* from 'yy'@'localhost';

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值