创建用户
- 第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**********/