MySQL用户与权限管理

1 用户管理

1.1 创建用户

  • create user ‘name’@‘xxx’ identified by ‘password’;
  • xxx指登录的权限,如’192.168.1.%'等
    创建之后会在mysql这个数据库中的user表里面生成
  • 此时默认的该用户权限有登录的权限

1.2 删除用户

  • drop user ‘name’; (默认删除host% 的用户)

1.3 修改当前用户密码

  • alter user user() identified by ‘new_password’;
  • user()是一个函数

1.4 修改其他用户密码

  • alter user ‘user_name’@‘xxx’ identified by ‘new_password’;
  • xxx同上

2 权限管理

2.1 最小原则

2.2授予权限

2.2.1 通过角色授予

  • 后面讲角色专门讲

2.2.2 直接授予

  • grant select,update on db_name. * to ‘user_name’@‘%’
  • 此时用户具备查询更新的权限,但不具备删除

2.2.3 回收权限

  • revoke select on db_name. * from ‘user_name’@‘%’;
  • 回收了用户在db_name数据库下的所有表的查询权限

2.3 权限表

1.user
2.db
3.table_priv 和 columns_priv
4.procs_priv
在这里插入图片描述

2.4 访问控制

在这里插入图片描述

3 角色管理

3.1 角色理解

  • 为了更方便的给用户赋予权限,先把权限赋予角色,再把角色赋予用户

3.2 创建角色

  • create role ‘role_name’@‘%’;
  • 一次性创建多个
    在这里插入图片描述
  • 角色创建之后,也会出现在user表里面

3.3给角色赋予权限

  • grant select,update on db_name. * to ‘role_name’@‘%’;
    在这里插入图片描述

3.4 查看角色权限

  • show grants for ‘name’;
  • 注:name里面不只可以填role_name,还可以填user_name

3.5 回收角色权限

  • revoke update on db_name. * from ‘role_name’;

3.6 删除角色

  • drop role ‘role_name’;

3.7 给用户赋予角色

  • grant ‘role_name’@‘%’ to ‘user_name’@‘%’;

3.8 激活角色

3.8.1 方式1

  • 1.先用user登录数据库
  • 2.set default ‘role_name’@‘%’ all to ‘user_name’@‘%’;

3.8.2 方式2

  • activate_all_roles_on_login设置为on
  • 查看
    show variables like ‘activate_all_roles_on_login’;
    在这里插入图片描述
    设置
  • set global activate_all_roles_on_login = on;
  • 也可以在配置文件里设置

3.9 撤销用户的角色

  • revoke role from user
  • 自己不能撤销自己的

3.10 设置强制角色

  • 即创建每个账户的默认角色
  • 强制角色无法被revokedrop

3.10.1 方式1:服务启动前设置

配置文件里面添加

  • mandatory_roles=‘role1,role2@localhost,r3@%.atguigu,com’

3.10.2 方式2:运行时设置

在这里插入图片描述
强制角色了解即可

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值