实训五:数据库安全控制 - 创建用户

news2025/2/25 18:27:15

创建用户

  • 第1关:创建用户
    • 任务描述
    • 相关知识
      • 增加用户
      • 修改用户名
      • 修改用户密码
      • 删除用户
    • 编程要求
    • 测试说明
    • 参考代码
  • 第2关:创建用户-练习
    • 任务描述
    • 相关知识
    • 编程要求
    • 测试说明
    • 参考代码

第1关:创建用户

任务描述

本关任务:创建用户 user1 @localhost,密码为 ‘user1’;

相关知识

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

用户分类:
1.超级管理员用户 root,默认建立的,密码为空,拥有数据库中所有的权限。
2.普通用户,只拥有创建时赋予它的权限。

用户信息存放在数据库 mysql 的 user 表中。
user 表中字段:

  • Host:可以登陆数据库的主机地址;
  • User:用户登陆名;
  • authentication_string :加过密的登陆密码;
  • _priv 结尾的字段:表明用户的权限。
    ,

由于用户信息是存放在 user 表中,因此在 MySql 中对用户的管理既可以使用 Mysql 特定的语句,也可以直接使用标准的 SQL 语句。
需要注意的是,不管使用 Mysql 特定的语句还是标准的 SQL 语句,都必须要有使用这些语句的权限以及对 mysql 这个数据库及 user 表操作的权限。

增加用户

增加用户方式一语法:

create user 用户名@主机名 //用户名区分大小写,主机名连接来自的主机;
[ identified by [password] ‘密码’] //密码区分大小写;
[ , 用户名@主机名[identified by [password] [‘密码’]] [ ,... ] //可以同时创建多个数据库用户,中间用逗号分隔。 

增加用户示例:

使用 create user 语句增加一个用户 cat,只允许在本地主机登陆,并设置密码为 cat123。

create user cat@localhost identified by 'cat123';  

增加用户方式二语法:

grant 权限类别  //权限类别表示各类权限,用逗号隔开;
on 数据库名.表名 
to 用户名@主机名 [ identified by [password] ‘password’] 
[,用户名@主机名[identified by password[‘password’]] [,...]

增加用户示例:
使用 grant 语句增加一个用户 mouse,可以在任何主机上登陆,设置密码为 mouse123,并授予该用户对 course 数据库所有表的查询、插入和更新权限。

grant select,insert,update on course.* to mouse@'%' identified by 'mouse123'; 

修改用户名

修改用户名语法:

 rename user 老用户 to 新用户 
[ , 老用户 to 新用户] ....

示例:使用 rename user 语句将用户 cat 名字更改为 tom。

rename user cat@localhost to tom@localhost; 

修改用户密码

修改用户密码语法:

set password 
[for 用户]  //不加 “for 用户”,表示修改当前用户的密码;用户必须以“用户名@主机名”格式
=password(‘’) 

示例:使用 set password 语句将用户 tom 的密码改为 hello。

set password for ‘tom@’localhost’ = password(‘hello’); 

删除用户

删除用户语法:

drop user 用户 [ , 用户] .... 

示例:使用 drop user 语句删除可以在任意主机上登陆的用户 mouse。

drop user ‘mouse’@’%; 

编程要求

根据提示,在右侧编辑器补充代码。创建用户 user1 @localhost,密码为 ‘user1’;

测试说明


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

参考代码

 use teachingdb;
 /****请在此编写代码,操作完毕之后点击评测******/
 
 /**********Begin**********/
create user user1@localhost identified by 'user1'
 /**********End**********/

第2关:创建用户-练习

任务描述

本关任务:创建用户 user2,密码为 ‘user2’。

相关知识

见上一关

编程要求

根据提示,在右侧编辑器补充代码。创建用户 user2,密码为 ‘user2’;

测试说明

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

参考代码

 /****请在此编写代码,操作完毕之后点击评测******/
 
 /**********Begin**********/
  drop user user2@localhost;
  create user user2 identified by 'user2'
 /**********End**********/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/679666.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

你不知道的HTML属性,让你的网页更加响应式

前言 当我们谈论 HTML 时,通常会想到一些常见的属性,如 class、id、href 等等。但是,HTML 还有许多你可能从未听说过的属性,这些属性可以让你的网页更加丰富多彩。在本文中,我将介绍一些你可能不知道的 HTML 属性&…

SPI通信协议SPI通信外设

目录 SPI 介绍 硬件电路 移位示意图 软件SPI SPI时序基本单元 SPI时序​编辑 W25Q64 硬件电路 W25Q64框图 Flash操作注意事项 指令集 硬件SPI SPI框图 主模式全双工连续传输 非连续传输 SPI 介绍 硬件电路 推挽输出,高低电平都有很强的驱动能力&…

基于Python数据分析的详细讲解+实战(含代码)

名字:阿玥的小东东 学习:Python、C/C 主页链接:阿玥的小东东的博客_CSDN博客-python&&c高级知识,过年必备,C/C知识讲解领域博主 目录 载入数据集 数据预处理 探索性数据分析 发现相关性 开发模型 模型部署 Python数据分析代码实…

Vue基础(一)

前言: Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。 …

【Vue2.0源码学习】内置组件篇-keep-alive

文章目录 1. 前言2 用法回顾3. 实现原理propscreateddestroyedmountedrender 4. 生命周期钩子5. 总结 1. 前言 <keep-alive> 是 Vue 实现的一个内置组件&#xff0c;也就是说 Vue 源码不仅实现了一套组件化的机制&#xff0c;也实现了一些内置组件&#xff0c;关于<k…

区块链系统探索之路:比特币核心的编译和探索

前几节我们研究了椭圆曲线&#xff0c;有限域等比特币和区块链所依赖的底层算法。问题在于这些算法不是独立存在&#xff0c;而是作为模块嵌入到整个区块链的体系之中。因此不了解区块链的体系组成或应用场景&#xff0c;那么我们就很难理解这些算法衍生出来的概念或者基于他们…

【硬件1】platform/i2c总线

文章目录 1.platform总线&#xff1a;相对于USB/PCI/I2C/SPI等物理总线来说&#xff0c;platform总线是一种虚拟的总线&#xff0c;实际并不存在&#xff0c;总线的工作就是就是完成总线下的设备和驱动之间的匹配。也就是在左手中找到与右手相匹配的设备驱动&#xff0c;并完成…

基于Java+Springboot的智能图书馆座位管理系统设计和实现

博主介绍&#xff1a;擅长Java、微信小程序、Python、Android等&#xff0c;专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3fb; 不然下次找不到哟 Java项目精品实战案例…

MySQL实战解析底层---为什么只查一行的语句,也执行这么慢

目录 前言 第一类&#xff1a;查询长时间不返回 第二类&#xff1a;查询慢 前言 一般情况下&#xff0c;如果说查询性能优化&#xff0c;首先会想到一些复杂的语句&#xff0c;想到查询需要返回大量的数据但有些情况下&#xff0c;“查一行”&#xff0c;也会执行得特别慢这…

第11讲:BootService 核心实现解析,Agent 的“地基”原来是这样的

之前介绍了 ServiceManager 加载并初始化 BootService 实现的核心逻辑。下图展示了 BootService 接口的所有实现类&#xff0c;本课时将深入分析这些 BootService 实现类的具体逻辑&#xff1a; 网络连接管理 在前面的介绍中提到 SkyWalking Agent 会定期将收集到的 JVM 监控和…

基于Java+Swing实现雷电小游戏

基于JavaSwing实现雷电小游戏 一、系统介绍二、功能展示三、其他系统四、获取源码 一、系统介绍 基于java的雷电游戏基本功能包括&#xff1a;敌方飞机随机飞行、我方飞机手动控制飞行&#xff0c;射击比拼&#xff0c;游戏闯关等。本系统结构如下&#xff1a; &#xff08;1&…

Java中线程的创建与使用、Thread类的常用方法

1、什么是进程与线程 1.1 含义 1.1.1 进程 进程是指正在运行的程序的实例。在操作系统中&#xff0c;一个进程代表了一个正在执行的程序&#xff0c;它包括了程序的代码、数据以及程序执行时所需要的系统资源。 最直观的就是我们任务管理器&#xff1a; 任务管理器中的每一…

Centos7安装和配置Mysql5.7

第一步&#xff1a;获取mysql YUM源 进入mysql官网获取RPM包下载地址&#xff0c;下面就是mysql5.7的Yum仓库的rpm包&#xff1a; mysql5.7链接地址&#xff1a; https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 第二步&#xff1a;下载和安装mysql…

卷福的十年同学会

1.一通电话 某个上班日的午休时间里&#xff0c;小卷正趴在办公桌玩着手机准备睡一会&#xff0c;“叮咚”&#xff0c;一条微信消息弹出来&#xff0c;是大学的班群消息。 “五一期间大家来学校聚一下吧&#xff0c;今年是我们成为同学的十年了&#xff0c;大家提前报名哦&a…

Qt设置软件启动动画(支持图片和视频俩种方式)

目录 软件启动动画效果静态背景动态背景 程序启动动画QSplashScreen启动时加载静态图片启动时加载视频动画将启动动画置于所有窗口顶层 软件启动动画效果 先来看效果。下面录制了加载图片和gif动图的俩种效果。 静态背景 动态背景 这里我加载了一个gif的动图&#xff0c;你也…

AMBA AHB的burst termination

前言 在AMBA AHB协议中&#xff0c;AHB master可以用burst传输连续取多笔数据。AHB定义了4、8和16拍的burst传输、未定义长度的burst传输和单次传输。Burst传输中支持incrementing和wrapping。 Incrementing burst用于访问顺序的memory地址&#xff0c;burst中每个拍的地址都…

数据压缩的常用手段以及方法

0. 简介 之前我们在《经典文献阅读之–R-PCC(基于距离图像的点云压缩方法)》中提到了&#xff0c;我们可以通过一些算法层面来完成数据的压缩&#xff0c;而其实更简单或者说更直接的方法就是使用half这种形式来完成数据压缩。 1. half和float Half是用16位表示浮点数的一种…

什么是 FL Studio?2023年最新版 FL Studio21.0.3.3517中文版图文安装教程

什么是 FL Studio&#xff1f; FL Studio 是一个数字音频工作站 (DAW)。该软件借助各种编辑工具、插件和效果&#xff0c;让您可以录制、混音和掌握高度复杂的音乐作品。FL Studio 还允许您注册和编辑 MIDI 文件&#xff0c;您可以在众多可用乐器之一上演奏这些文件。FL Studi…

树莓派 python3.9降级为python3.7

今天烧录了一个官方烧录器中的最新的镜像&#xff0c;打开之后python的版本是3.9的&#xff0c;之前做的一些东西都是基于python3.7的&#xff0c;再重新架构十分麻烦&#xff0c;于是干脆就把python3.9进行降级&#xff0c;降为python3.7. 这个镜像不像之前的一些镜像&#x…

通用商城项目(上)

通用型产品&#xff08;电商&#xff09;发布解决方案落地实现&#xff08;基于分布式微服务技术栈&#xff1a; SpringBootSpring CloudSpring Cloud Alibaba VueElementUl MyBatis-Plus MySQL Git Maven Linux Nginx Docker 前后端分离&#xff09; 项目技术栈和前置技术 项…