文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MySQL8功能详解——角色

2014-07-08 23:34

关注

MySQL8功能详解——角色

角色功能对于Oracle的DBA来说,不是什么特殊功能,但对于MySQL而言,这是一个人心所盼的功能。

MySQL的DBA现在可以创建角色、对其赋予权限,并将它们授予用户。使用角色可以大量减轻DBA的工作,可以轻松管理每个团队、用户的各种复杂的权限。

下面详细介绍一下MySQL中如何使用角色:

创建删除角色:

创建角色使用 “CREATE ROLE”语句,假设我们为应用程序创建只读角色、读写角色和开发人员角色。

角色的名称与MySQL的账户名称非常相似,由用户名+主机名称构成,如果省略主机名称则默认为"%"。

删除角色使用:

赋予/撤销权限:

角色创建以后,需要对其赋予相应的权限。使用下列语句分别对角色赋予全部权限、只读权限和读写权限:

赋予角色权限后,将相应的角色授予用户。例如:

创建用户

授予角色权限

撤销用户的角色和撤销角色的权限:

查看角色的权限:

当角色授予用户后,我们可以查看用户拥有的权限,执行:

是否注意到,执行show grants语句只是看到了用户被赋予了角色,该角色具有哪些权限该如何查看呢?执行下面的语句可以确认相关内容:

强制性角色:

MySQL可以通过mandatory_roles 变量来配置强制性角色。使用强制性角色,服务器会为全部的账户默认赋予该角色,而不需要显示执行赋予角色。可以使用my.cnf文件或者使用SET PERSIST进行配置,例如:

[mysqld]

mandatory_roles="role1,role2@localhost"

SET PERSIST mandatory_roles = "role1,role2@localhost;

需要注意的是,配置在mandatory_roles中的角色不能撤销其权限,也不能删除。

角色自动激活:

赋予用户帐户的角色在帐户会话中可以处于活动状态,也可以处于非活动状态。如果赋予的角色在会话中处于活动状态,则具有相应的权限,反之则没有。要确定当前会话中哪些角色处于活动状态,使用CURRENT_ROLE()函数。

默认情况下,向帐户赋予角色或在mandatory_roles系统变量值中为其命名后,该角色在帐户会话中不会变为活动状态。要指定每次用户连接到服务器,进行身份验证时激活角色,请使用 SET DEFAULT ROLE:

之后,用app_dev_user登陆服务器,查看当前角色权限:

要在用户连接到服务器时,使所有显式赋予的角色和强制角色自动激活,请启用activate_all_roles_on_login 系统变量。默认情况下,禁用自动角色激活。

关于MySQL中使用角色就介绍到这里,更为详尽的内容请访问官网手册

https://dev.mysql.com/doc/refman/8.0/en/roles.html

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯