首页 > 数据库 >Educator头歌MySQL数据库实验五:授权及回收权限

Educator头歌MySQL数据库实验五:授权及回收权限

时间:2024-11-27 12:30:18浏览次数:8  
标签:test1 grant 数据库 Educator teachingdb 头歌 MySQL 权限 localhost

在开始讲解以及分享答案之前

如果粘贴答案失效,请点击头歌系统右上角的电源键,释放资源重载数据库,再次进入才能正确通过

第1关:授予某数据库的所有权限

100

  • 任务要求
  • 参考答案
  • 记录
  • 评论

任务描述

本关任务:授权 user1@localhost用户对数据库 teachingdb及其所有对象的管理权限

相关知识

为了完成本关任务,你需要掌握 MySQL 的权限管理。

MySql系统库中的权限表

MySql 系统库中的权限表: user:最重要的权限表,存储允许连接到服务器的账号。 db:存储用户对某个数据库的操作权限。 host:存储某个主机对数据库的操作权限。 tables_priv:对单个表进行权限设置。 columns_priv:对单个数据列进行权限设置。 columns_priv:对存储过程和存储函数进行权限设置。

访问控制的两个阶段:

1、连接核实阶段 用户试图连接 MySQL 服务器时,服务器基于用户提供的信息来验证用户身份。使用 MySQL 的 user 表进行身份核实 2、请求核实阶段 对当前用户的每个操作都进行权限检查,判断用户是否有足够的权限来执行它。 如图所示

授予的权限等级:

全局层级:适用于一个给定服务器中所有的数据库。 数据库层级:适用于一个给定数据库中的所有目标。 表层级:适用于一个给定表中的所有列。 列层级:适用于一个给定表中的单一列。 子程序层级:适用于存储的子程序 ,可以被授权为全局层级和数据库层级。

  1. grant priv_type [(column_list)] //要设置的权限项;
  2. [,priv_type[(column_list)]][,.....n] on
  3. {tbl_name|*|*.*|db_name.*|db_name.tbl_name} //对象类型;
  4. to user[identified by [password] ‘password’]
  5. [,user[identified by [password] ‘password’]][,....n]
  6. [with grant_option] //可以将该用户的权限转移给其他用户;

示例:使用 grant 语句创建一个新用户 test1,密码为 test123,该用户对所有的数据又查询、插入的权限,并授予 grant 权限。

  1. grant select,insert on *.* to test1@localhost identified by ‘test123’ with grant option;
revoke 语句的基本语法格式

revoke 语句的基本语法格式:

  1. revoke priv_type [(column_list)][,priv_type[(column_list)]][,.....n] on
  2. {tbl_name|*|*.*|db_name.*|db_name.tbl_name}
  3. from ‘username’@’hostname’[,‘username’@’hostname’][,...n]

使用 revoke 语句收回收回 test1 用户对 course 数据库中 student 表的 update 权限示例:

  1. revoke update on course.student from test1@localhost;
查看权限

语法:

  1. show grants for username@hostname

例子: 查用用户 test1 的权限信息


  1. show grants for test1@localhost;
限制权限

max_queries_per_hour count:表示每小时可以查询数据库的次数。 max_connections_per_hour count:表示每小时可以连接数据库的次数 max_updates_per_hour count:表示每小时可以修改数据库的次数。

示例:授予 test1 每小时可以发出的查询数为 50 次,每小时可以连接数据库 10 次,每小时可以发出的更新数为 5 次。

  1. grant all on *.* to test1@localhost identified by ‘test123’
  2. with max_queries_per_hour 50
  3. with max_connections_per_hour 10
  4. with max_updates_per_hour 5;

编程要求

根据提示,在右侧编辑器补充代码,授权 user1@localhost用户对数据库 teachingdb及其所有对象的管理权限。

测试说明

编写代码后,点击测评即可。


开始你的任务吧,祝你成功

第一关:

 use teachingdb;

 /****请在此编写代码,操作完毕之后点击评测******/
      grant ALL on teachingdb.* to user1@localhost 
 /**********End**********/

第二关:

 use teachingdb;
 
 /****请在此编写代码,操作完毕之后点击评测******/
 
 /**********Begin**********/
  
   grant all on `teachingdb`.* to user1@localhost with grant option; 
 /**********End**********/

第三关:

  use teachingdb;

  GRANT ALL  ON teachingdb.student  TO user1@localhost,user2;
 /**********End**********/
 /**********End**********/

第四关:


   use teachingdb;
 
 /****请在此编写代码,操作完毕之后点击评测******/
  grant UPDATE(grade) on teachingdb.score to user2@localhost;
     

第五关:

 use teachingdb;
 /****请在此编写代码,操作完毕之后点击评测******/
 
 /**********Begin**********/
  revoke select on `teachingdb`.* from user1@localhost;
  
 /**********End**********/

标签:test1,grant,数据库,Educator,teachingdb,头歌,MySQL,权限,localhost
From: https://blog.csdn.net/iceslime/article/details/144077141

相关文章

  • phpMyAdmin管理mysql
    记录时间:2024-11-27创建数据库 修改和删除数据库 创建数据表 修改数据表 删除数据表 翻译搜索复制......
  • MySQL用错了,99%的人已中招
    在我们日常工作中,可能会经常使用MySQL数据库,因为它是开源免费的,而且性能还不错。在国内的很多公司中,经常被使用。但我们在MySQL使用过程中,也非常容易踩坑,不信继续往下看。今天这篇文章重点跟大家一起聊一聊使用MySQL的15个坑,希望对你会有所帮助。1查询不加where条件有些小......
  • java小工具封装- java 查询mysql/pg库 sql中所有属性和属性值
     封装类:传参数据库连接和查询的sql就可以打印出查询sql的所有属性和属性值(可直接复制粘贴使用)publicstaticvoidselectAll(Connectionconnection,Stringsql){ResultSetMetaDatarsmd=null;try{//trycatch判断是否有异常Statemen......
  • MySQL报错:sql_mode=only_full_group_by解决方法
    MySQL报错:sql_mode=only_full_group_by解决方法登录mysql之后,执行命令查看当前的sql_mode配置select@@global.sql_mode;​​可以发现MySQL的sql_mode是开启了ONLY_FULL_GROUP_NY。解决方法把sql_mode中的ONLY_FULL_GROUP_NY​去掉,其他不变即可。找到MySQL的配置文件/......
  • MySQL报错:sql_mode=only_full_group_by解决方法
    MySQL报错:sql_mode=only_full_group_by解决方法登录mysql之后,执行命令查看当前的sql_mode配置select@@global.sql_mode;​​可以发现MySQL的sql_mode是开启了ONLY_FULL_GROUP_NY。解决方法把sql_mode中的ONLY_FULL_GROUP_NY​去掉,其他不变即可。找到MySQL的配置文件/......
  • 数据库(总结自小林coding)|索引失效的场景、慢查询、原因及如何优化?undo log、redo log
    数据库(总结自小林coding)|索引失效的场景、慢查询、原因及如何优化?undolog、redolog、binlog作用、MySQL和Redis的区别说一下索引失效的场景?什么是慢查询?原因是什么?可以怎么优化?undolog、redolog、binlog有什么用MySQL和Redis的区别是什么说一下索引失效的场景......
  • 【后端面试总结】MySQL面试总结
    后端的面试中数据库是一个绕不开的话题,而其中事务又是出镜率很高的一个知识点,那么事务又是由哪些关键技术组成呢,总结起来就是4个关键点:ACID原子性:定义:原子性是指一个事务是一个不可分割的工作单位,其中的操作要么都做,要么都不做;如果事务中一个sql语句执行失败,则已执行的语句......
  • 基于Java+SpringBoot+Mysql在线简单拍卖竞价拍卖竞拍系统功能设计与实现十
    一、前言介绍:免费学习:猿来入此1.1项目摘要主要源于互联网技术的快速发展和电子商务的普及。随着网络技术的不断进步,人们越来越依赖于互联网进行购物、交易和沟通。电子商务的兴起为在线拍卖提供了广阔的市场和便利的条件。在线拍卖系统通过搭建一个虚拟的拍卖平台,将传统的拍卖......
  • 基于Java+SpringBoot+Mysql在线简单拍卖竞价拍卖竞拍系统功能设计与实现九
    一、前言介绍:免费学习:猿来入此1.1项目摘要主要源于互联网技术的快速发展和电子商务的普及。随着网络技术的不断进步,人们越来越依赖于互联网进行购物、交易和沟通。电子商务的兴起为在线拍卖提供了广阔的市场和便利的条件。在线拍卖系统通过搭建一个虚拟的拍卖平台,将传统的拍卖......
  • MySQL原理简介—10.SQL语句和执行计划
    大纲1.什么是执行计划2.执行计划包含哪些内容3.SQL语句和执行计划的总结4.SQL语句使用多个二级索引5.多表关联的SQL语句如何执行6.全表扫描执行计划的成本计算方法7.索引的成本计算方法8.MySQL如何优化执行计划9.explain的参数说明 1.什么是执行计划(1)什么是SQL优化......