数据库应用(mysql)数据库管理

第1关:用户1

任务描述

1.在本地创建用户u1@localhost,密码为123.
2.将u1@localhost更名为user1@localhost.
3.在msyql.user表中查看所有用户的用户名(user)。

USE petstore;
create user u1@localhost identified by '123';   #创建用户
rename user u1@localhost to user1@localhost;    #改名
select user from mysql.user;                    #查看所有用户的用户名
######### Begin #########
######### End #########

####相关知识#####

1、添加和删除用户:
使用CREATE USER语法添加一个或多个用户,并设置相应的密码。
语法格式:
CREATE USER 用户名 【IDENTIFIED BY[PASSWORD]'密码]

用户名的格式为:user_name@host_name。其中user_name为用户名.host name为主机名


2、删除用户语法格式:
DROP USER user
DROP USER语句用于删除一个或多个MySQL账户,并取消其权限。要使
用DROP USER,必须拥有mySql数据库的全局CREATEUSER权限或
DELETE权限。

3、使用RENAMEUSER语句来修改一个已经存在的SQL用户的名字。
语法格式:
RENAME USER old user TO new user

若要将命令立即生效,可用命令:
Flush privileges;

4、修改某个用户的登录密码,可以使用SET PASSWORD语句。
语法格式:
SET PASSWORD[FOR user]=PASSWORD('newpassword')

5.在msyql.user表中查看所有用户的用户名(user)

select user from mysql.user;

第2关:用户2

任务描述

1.在本地创建用户u1,不设密码。
2.将u1密码设为abc。
3.删除用户u1。
4.在msyql.user表中查看所有用户的用户名(user)。

USE petstore;
create user u1@localhost;                      #创建用户
set password for u1@localhost=password('abc'); #设置密码
drop user u1@localhost;                        #删除用户
select user from mysql.user;                   #查看所有用户的用户名
######### Begin #########
######### End #########

####相关知识####

1、添加和删除用户:
使用CREATE USER语法添加一个或多个用户,并设置相应的密码。
语法格式:
CREATE USER 用户名 【IDENTIFIED BY[PASSWORD]'密码]

用户名的格式为:user_name@host_name。其中user_name为用户名.host name为主机名


2、删除用户语法格式:
DROP USER user
DROP USER语句用于删除一个或多个MySQL账户,并取消其权限。要使
用DROP USER,必须拥有mySql数据库的全局CREATEUSER权限或
DELETE权限。

3、使用RENAMEUSER语句来修改一个已经存在的SQL用户的名字。
语法格式:
RENAME USER old user TO new user

若要将命令立即生效,可用命令:
Flush privileges;

4、修改某个用户的登录密码,可以使用SET PASSWORD语句。
语法格式:
SET PASSWORD[FOR user]=PASSWORD('newpassword')

5.在msyql.user表中查看所有用户的用户名(user)

select user from mysql.user;

第3关:授权1

任务描述

1.赋予用户u1在account表上的查询权限,并允许u1将这个权限赋予其他用户。
2.在mysql.tables_priv表中查看u1的表权限table_priv。

USE petstore;
grant select                                 #赋予用户u1在account表上的查询权限
on account
to u1@localhost
with grant option;                           #允许u1将这个权限赋予其他用户
select table_priv from mysql.tables_priv;    #查看u1的表权限table_priv
######### Begin #########

######### End #########

#####相关知识#######

1、授予权限

给用户授予权限可以使用GRANT语句。使用SHOW GRANTS语句
可以查看当前账户拥有什么权限。
GRANT语法格式:
GRANT权限1[(列名列表1)][,权限2[(列名列表2)]]…
ON[目标]{表名|*|*.*|库名.*}
TO用户1[IDENTIFIEDBY[PASSWORD]'密码1']
[,用户2[IDENTIFIED BY[PASSWORD]‘密码2']].….
[WITH权限限制1[权限限制2]..]
 

2.回收权限


用来回收某些特定的权限语法格式:
REVOKE 权限1[(列名列表1)][,权限2[(列名列表2)]]…
ON{表名|*|**|库名.*}
FROM 用户1[,用户2]..
回收所有该用户的权限语法格式:
REVOKE ALL PRIVILEGES, GRANT OPTION FROM user

(1)授予表权限
授予表权限时,权限可以是以下值。
1)SELECT:授予用户使用SELECT语句访问特定表(或视图)的权力。对于视图,
用户必须对视图中指定的每个表(或视图)都有SELECT权限。
2)INSERT:授予用户使用INSERT语句向一个特定表中添加行的权力。
3)DELETE:授予用户使用DELETE语句向一个特定表中删除行的权力。
4)UPDATE:授予用户使用UPDATE语句修改特定表中值的权力。
5)REFERENCES:授予用户创建一个外键来参照特定的表的权力。
6)CREATE:授予用户使用特定的名字创建一个表的权力。
7)ALTER:授予用户使用ALTER TABLB语句修改表的权力。
8)INDEX:授予用户在表上定义索引的权力。
9)DROP:授予用户删除表的权力。
10)ALL或ALL PRIVILEGES:表示所有权限。
在授予表权限时,ON关键字后面跟表名,指定授予权限的为表名或视图名。

(2)授予数据库权限
表权限适用于一个特定的表,MySQL还支持针对整个数据库的权限。例如,在一个
特定的数据库中创建表和视图的权限。
授予数据库权限时,权限可以是以下值。
1)SELECT:授予用户使用SELECT语句访问特定数据库中所有表和视图的权力。
2)INSERT:授予用户使用INSERT语句向特定数据库所有表中添加行的权力。
3)DELETE:授予用户使用DELETE语句在特定数据库所有表中删除行的权力。
4)UPDATE:授予用户使用UPDATE语句更新特定数据库所有表中值的权力。
5)REFERENCES:授予用户创建指向特定数据库中的表外键的权力。
6)CREATE:授予用户使用CREATE TABLE语句在特定数据库中创建新表的权力。
7)ALTER:授予用户使用ALTERTABLE语句修改特定数据库中所有表的结构的权力。
8)INDEX:授予用户在特定数据库中的所有表上定义和删除索引的权力。
9)DROP:授予用户删除特定数据库中所有表和视图的权力。
10) CREATETEMPORARY TABLES:授予用户在特定数据库中创建临时表的权力。
11)CREATE VIEW:授予用户在特定数据库中创建新视图的权力。
12)SHOW VIEW:授予用户查看特定数据库中已有视图的视图定义的权力。
13)CREATEROUTINE:授予用户为特定数据库创建存储过程和存储函数的权力。
14) ALTERROUTINE:授予用户更新和删除数据库中已有存储过程和存储函数的
权力。
15)EXECUTE ROUTINE:授予用户调用特定数据库的存储过程和存储函数的权力。
16)LOCK TABLES:授予用户锁定特定数据库中已有表的权力。
17)ALL或ALLPRIVILEGES:表示以上所有权限。
在GRANT语法格式中,授予数据库权限时ON关键字后面跟*和“库名.*”。*表示
当前数据库中的所有表;“库名.*”表示某个数据库中的所有表。
 

第4关:授权+回收权限

任务描述

1.赋予用户u1@localhost在petstore数据库上的所有权限,并允许u1@localhost每小时最多查询(max_queries_per_hour)10次。
2.收回u1@localhost在所有表上的查询权限。
3.在mysql.user表中查看u1的所有信息。

USE petstore;
grant all                                #赋予用户u1@localhost在petstore数据库上的所有权限
on petstore.*
to u1@localhost
with max_queries_per_hour 10;            #允许u1@localhost每小时最多查询
revoke select                            #收回u1@localhost在所有表上的查询权限
on petstore.*
from u1@localhost;
select * from mysql.db where user='u1';  #在mysql.user表中查看u1的所有信息
######### Begin #########
######### End #########

#####相关知识#######

1、授予权限

给用户授予权限可以使用GRANT语句。使用SHOW GRANTS语句
可以查看当前账户拥有什么权限。
GRANT语法格式:
GRANT权限1[(列名列表1)][,权限2[(列名列表2)]]…
ON[目标]{表名|*|*.*|库名.*}
TO用户1[IDENTIFIEDBY[PASSWORD]'密码1']
[,用户2[IDENTIFIED BY[PASSWORD]‘密码2']].….
[WITH权限限制1[权限限制2]..]
 

2.回收权限


用来回收某些特定的权限语法格式:
REVOKE 权限1[(列名列表1)][,权限2[(列名列表2)]]…
ON{表名|*|**|库名.*}
FROM 用户1[,用户2]..
回收所有该用户的权限语法格式:
REVOKE ALL PRIVILEGES, GRANT OPTION FROM user

(1)授予表权限
授予表权限时,权限可以是以下值。
1)SELECT:授予用户使用SELECT语句访问特定表(或视图)的权力。对于视图,
用户必须对视图中指定的每个表(或视图)都有SELECT权限。
2)INSERT:授予用户使用INSERT语句向一个特定表中添加行的权力。
3)DELETE:授予用户使用DELETE语句向一个特定表中删除行的权力。
4)UPDATE:授予用户使用UPDATE语句修改特定表中值的权力。
5)REFERENCES:授予用户创建一个外键来参照特定的表的权力。
6)CREATE:授予用户使用特定的名字创建一个表的权力。
7)ALTER:授予用户使用ALTER TABLB语句修改表的权力。
8)INDEX:授予用户在表上定义索引的权力。
9)DROP:授予用户删除表的权力。
10)ALL或ALL PRIVILEGES:表示所有权限。
在授予表权限时,ON关键字后面跟表名,指定授予权限的为表名或视图名。

(2)授予数据库权限
表权限适用于一个特定的表,MySQL还支持针对整个数据库的权限。例如,在一个
特定的数据库中创建表和视图的权限。
授予数据库权限时,权限可以是以下值。
1)SELECT:授予用户使用SELECT语句访问特定数据库中所有表和视图的权力。
2)INSERT:授予用户使用INSERT语句向特定数据库所有表中添加行的权力。
3)DELETE:授予用户使用DELETE语句在特定数据库所有表中删除行的权力。
4)UPDATE:授予用户使用UPDATE语句更新特定数据库所有表中值的权力。
5)REFERENCES:授予用户创建指向特定数据库中的表外键的权力。
6)CREATE:授予用户使用CREATE TABLE语句在特定数据库中创建新表的权力。
7)ALTER:授予用户使用ALTERTABLE语句修改特定数据库中所有表的结构的权力。
8)INDEX:授予用户在特定数据库中的所有表上定义和删除索引的权力。
9)DROP:授予用户删除特定数据库中所有表和视图的权力。
10) CREATETEMPORARY TABLES:授予用户在特定数据库中创建临时表的权力。
11)CREATE VIEW:授予用户在特定数据库中创建新视图的权力。
12)SHOW VIEW:授予用户查看特定数据库中已有视图的视图定义的权力。
13)CREATEROUTINE:授予用户为特定数据库创建存储过程和存储函数的权力。
14) ALTERROUTINE:授予用户更新和删除数据库中已有存储过程和存储函数的
权力。
15)EXECUTE ROUTINE:授予用户调用特定数据库的存储过程和存储函数的权力。
16)LOCK TABLES:授予用户锁定特定数据库中已有表的权力。
17)ALL或ALLPRIVILEGES:表示以上所有权限。
在GRANT语法格式中,授予数据库权限时ON关键字后面跟*和“库名.*”。*表示
当前数据库中的所有表;“库名.*”表示某个数据库中的所有表。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值