Loading

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

第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**********/
posted @ 2023-06-24 11:02  qing影  阅读(139)  评论(0)    收藏  举报  来源