MySQL数据库管理与应用 第14章 MySQL数据库安全管理.ppt

MySQL数据库管理与应用 第14章 MySQL数据库安全管理.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
14.3 权限管理 14.3.2 查看用户权限 使用命令查看用户权限 mysql数据库下的user表中存储着用户的基本权限,所以可以使用SELECT语句去user表中查询各用户的权限。 SELECT * FROM mysql.user \G 也可以使用SHOW GRANTS FOR语句来查询用户的权限。 【例14.16】创建一个新用户u3,使用SHOW GRANT FOR语句分别查看用户u1和u3的权限。 在MySQL命令行客户端输入命令: CREATE USER u3 identified by '123'; SHOW GRANTS FOR u3; SHOW GRANTS FOR u1@localhost; 14.3 权限管理 14.3.3 撤销权限 使用命令撤销用户权限 撤销权限就是收回授予给用户的某些权限,我们可以使用REVOKE语句撤销用户的权限,语法格式: REVOKE priv_type[(column_list)]… ON database.table FROM user[,user]… 【例14.17】撤销用户u1查询student表中sno字段和sname字段的权限,撤销用户u2的所有权限。 在MySQL命令行客户端输入命令: REVOKE SELECT(sno,sname) ON jwgl.student FROM u1@localhost; REVOKE ALL,GRANT OPTION FROM u2@localhost; 14.3 权限管理 14.3.3 撤销权限 使用图形化工具撤销用户权限 打开Workbench工具,连接到MySQL服务器。 进入如图14.16所示界面,把想要撤销的权限前面的复选框对勾去掉,即可撤销该用户权限。如果想撤销所有权限,单击“Revoke All Privileges”按钮即可完成 14.4 角色管理 MySQL 8.0中增加了部分功能,在用户权限方面增加了角色的管理,而角色实质上就是权限的集合。 既然已经设置了权限,为什么还要设置角色呢?在给用户授权时,现实中用户数量较多,如果单独给每一个用户授予多个权限,语句重复度高,代码执行效率低。 为了避免这种情况,我们可以先将要授权的权限放入角色中,然后再轻松地把角色授予相应的用户。 14.4 角色管理 14.4.1 创建角色 可以使用CREATE ROLE语句创建角色,语法格式: CREATE ROLE [IF NOT EXISTS] role [, role ] ... 【例14.18】创建角色x1和x2。 在MySQL命令行客户端输入命令: CREATE ROLE x1, x2@localhost; 14.4 角色管理 14.4.2 角色授权与撤销权限 创建成功之后的角色是空的权限集合,我们需要使用GRANT语句给角色授权。给角色授权的语法格式和14.3.1小节中给用户授权的语法格式相似,区别是把TO后面的用户换成了角色。 当然我们也可以从角色中把某些权限撤回,使用的仍然是REVOKE语句,语法格式和14.3.3小节中的撤销用户权限语法格式相同,只是把FROM后面从用户换成了角色。 【例14.19】给角色x1授权和撤销权限。 在MySQL命令行客户端输入命令: GRANT SELECT(sno,sname) ON jwgl.student TO x1; GRANT DROP,CREATE,CREATE ROUTINE ON jwgl.* to x1; REVOKE CREATE ROUTINE ON jwgl.* FROM x1; 14.4 角色管理 14.4.3 授予用户角色与撤销角色 角色创建并授权成功后,需要将角色授予用户才能发挥其作用。 授予用户角色的语法格式与14.3.1小节中给用户授权的语法格式相似。区别有两点:一是把GRANT后面的权限换成角色,二是去掉了ON database.table子句。我们可以通过这一点来区分到底是给用户授予权限还是给用户授予角色:有ON子句的是给用户授予权限,没有ON子句的则是给用户授予角色。 当用户不需要某些操作权限时,出于数据安全性的考虑,我们可以撤销权限或角色。撤销角色使用REVOKE语句,语法格式: REVOKE role FROM user 14.4 角色管理 14.4.3 授予用户角色与撤销角色 【例14.20】将角色x1授予用户u1和u2,然后从用户u2撤销角色x1。 在MySQL命令行客户端输入命令: GRANT x1 to u1@localhost,u2@localhost; REVOKE x1 FROM u2@localhost; 由于语法不同,因此不能在同一语句中对用户混合分配权限和角色,需要分开使

文档评论(0)

dllkxy + 关注
实名认证
内容提供者

本文库主要涉及建筑、教育等资料,有问题可以联系解决哦

版权声明书
用户编号:5213302032000001
认证主体丁**

1亿VIP精品文档

相关文档

相关课程推荐