十五、MySQL(DCL)如何实现用户权限控制?

1、为什么要实现用户权限控制?

在日常工作中,会存在多个用户,为了避免某些用户对重要数据库进行"误操作",从而导致严重后果,所以对用户进行权限控制是必须的。

2、常见的权限类型:

sql 复制代码
ALL,ALL PRIVILEGES   所有权限
select               查询数据
insert               插入数据
update               修改数据
delete               删除数据
alter                修改表
drop                 删除数据库/表/视图
create               创建数据库/表
*                    所有权限    

3、 权限控制如何实现?

sql 复制代码
/*使用mysql数据库*/
use mysql;

(1)查询权限

sql 复制代码
查询权限:
show grants for '用户名'@'主机名';

实际操作:

sql 复制代码
/*显示Yang这个用户的权限*/
show grants for 'Yang'@'localhost';

(2)授予权限

sql 复制代码
授予权限:
grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';

实际操作:

给Yang用户授予操作yht_things数据库的所有权限。

sql 复制代码
/*授予权限*/
grant all on yht_things.* to 'Yang'@'localhost';

使用Yang用户登录mysql,查询Yang用户名下的可操作数据库:

(3) 撤销权限

sql 复制代码
撤销权限:
revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';

实际操作:

sql 复制代码
/*撤销权限*/
revoke all on yht_things.* from 'Yang'@'localhost';

再次通过Yang用户登入mysql,查询其下所有数据库,发现并没有yht_things这个库,证明取消权限成功:

相关推荐
Mikey_n2 分钟前
国产数据库怎么选?人大金仓 vs VStore
数据库
Dolphin_Home4 分钟前
Spring 事务避坑笔记:从入门到解决自调用陷阱
数据库·笔记·spring
石小千18 分钟前
排查Mysql死锁问题
数据库·mysql
('-')18 分钟前
《从根上理解MySQL是怎样运行的》第二十二章学习笔记
笔记·学习·mysql
UCoding24 分钟前
我们来学mysql -- 隐式锁,是机制锁,是规则锁
mysql·mysql隐式锁·升级为显示锁
冉冰学姐25 分钟前
SSM旅游足迹分享系统19i58(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·旅游·ssm 框架应用·旅游足迹分享·攻略管理·出行计划
yaoxin52112337 分钟前
为什么 IRIS SQL 会比 Spring JDBC 更快?
数据库·sql·spring
M***Z21039 分钟前
SQL中如何添加数据
数据库·sql
p***s911 小时前
MySQL的底层原理与架构
数据库·mysql·架构
b***62951 小时前
Redis 设置密码无效问题解决
数据库·redis·缓存