当前课程知识点:数据库技术应用 > 教学情境五、银行存取款机数据库安全性 > 模块2、MYSQL权限管理 > 模块2、MYSQL权限管理
中国有句古话
无规矩不成方圆
对于MYSQL用户来说也是一样
用户不能没权限
但是权限太大
也会影响数据库的正常使用
那么本节课主要以银行自动ATM取款机
以BankDB数据库为例给大家讲解
如何给用户授权
以及如何管理用户的权限
首先进入应用场景
MySQL数据库属于多用户数据库
合理的分配权限是正确使用用户的关键
任务分析
到底如何使用MYSQL中权限?
大家首先要从两点进行考虑
第一点如何授予权限
第二点如何回收权限
本课目标
掌握如何给用户授权
掌握如何回收用户的权限
我们先看一下知识技能
在银行自动ATM取款机
BankDB数据库中创建用户
不能立即创建自己的表
它必须被授权
可以授予的权限有以下几组
(1)列权限(2)表权限
(3)数据库权限(4)用户权限
下面我们马上进入任务实施过程
请同学们认真看我的操作
任务实施
任务1:BankDB数据库用户的授权
那么如何给用户授权
大家可以通过下面语句来授权
主要是通过GRANT 来授权
那么大家可以看任务
授予BankDB表权限和列权限
在授予表权限时
ON关键字后面跟表名或视图名
那么大家可以看一下下面的例子
授予用户king在userinfo表上的SELECT权限
首先大家要搞清楚他要给谁授权
给king用户授权
给king用户授予什么样的权限
访问userinfo表上的SELECT权限
所以这个写法可以写成
GRANT SELECT
ON userinfo
TO king@localhost
通过此语句给用户授予表的SELECT权限
如果说用户不存在
能不能给用户授权
答案是可以的
如何给不存在用户授权
如果给不存在的用户授权
必须要保证这个用户是存在的
所以在写这个语句的同时
要保证这个用户要创建的
大家可以通过如下语句实现
首先通过GRANT授予两个权限
一个SELECT
一个UPDATE
ON 的意思给哪张表授予权限
给的是userinfo
userinfo给哪些用户
To后面跟的用户不单单是用户名
还有口令
因为这个用户不存在
先要创建用户
才能给这个用户授权
所以在用户不存在的情况下
也可以给用户授权
只不过说用户的创建和授权是同时的
下面的例子更能说明如何给用户授权
我就不给大家一一解释了
大家可以直接看我的语句就可以了
授予数据库权限
授予数据库权限同样
也是GRANT进行授权
语法比较类似
授予BankDB数据库中
所拥有的所有数据库权限
无非在这个语句中加了个关键字
这个关键字是什么 是all
all表示全部的意思
其他语法都是一样的
要从一个用户回收权限
但不从USER表中删除该用户
可以使用REVOKE语句
通过REVOKE语句回收用户权限
给大家举个事例
回收用户user3
在userinfo表上的SELECT权限
大家可以写成REVOKE
REVOKE后面接的是什么
回收的具体权限
回收的是SELECT
加上SELECT ON userinfo
在那张表上回收权限
从哪个用户回收
是通过FROM user3@localhost去实现
从哪个用户上回收权限
任务拓展
1、授予用户user1对员工管理库中
employees表有SELECT操作权限
2、授予用户user1对员工管理库中
employees表有插入、修改、删除操作权限
3、授予用户user1对员工管理库
所有操作权限
4、收回用户user1对员工管理库中
employees表上的SELECT操作权限
希望大家下去之后
将这些习题好好去练习一下
今天的课程就到这里
谢谢大家
-模块1、数据库的基础知识
--数据库的基础知识
-模块2、MYSQL介绍与安装
--MYSQL介绍与安装
-模块3、银行存取款机数据库的创建与维护
--银行存取款机数据库的创建与维护
-模块4、银行存取款机数据库的设计
--银行存取款机数据库的设计
-模块1、表的创建
--2.1表的创建
--表的创建
-模块2、表的管理
--2.2表的管理
--表的管理
-模块3、索引
--2.3索引
--索引
-实践小课堂:宠物电商管理平台数据库和表的创建
-模块1、银行存取款机数据插入、修改和删除
--银行存取款机数据插入、修改和删除
-模块2、银行存取款机简单查询
--银行存取款机简单查询和统计查询
-模块3、银行存取款机连接查询
--3.3连接查询
--银行存取款机连接查询
-模块4、银行存取款机子查询
--3.4子查询
--银行存取款机子查询
-模块5、银行存取款机分类汇总与排序
--银行存取款机分类汇总与排序
-模块6、银行存取款机视图
--银行存取款机视图
-模块1、银行存取款机存储过程
--4.1.2事务
--银行存取款机存储过程
-模块2、银行存取款机触发器
--银行存取款机触发器
-模块1、MYSQL用户管理
--MYSQL用户管理
-模块2、MYSQL权限管理
--MYSQL权限管理
-模块3、MYSQL数据库的锁机制
--MYSQL数据库的锁机制
-模块4、MYSQL备份和恢复
--MYSQL备份和恢复