MySQL用户管理与权限管理

本文详细介绍了MySQL中的DCL数据控制语言,包括用户管理的各个操作,如创建、删除用户,修改密码以及权限赋予和撤销。同时,讨论了权限体系,强调了在实际应用中限制用户权限的重要性。通过实例演示了如何授权和撤销特定用户的数据库访问权限,以及如何刷新权限和查看用户权限。

DCL数据控制语言

1.进一步认识DCL
2.掌握用户管理的相关操作

DCL,主要用于管理用户和权限,
在企业中,这部分工作通常是由DBA完成,
一般开发人员很少接触。
总结功能;
1.创建用户
2.删除用户
3.修改密码
4.给用户赋予权限
5.撤销用户权限

权限体系

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们之前用的都是在root权限下面,权限非常大,在实际应用中我们不能这样做

1.进入数据库
mysql -h localhost -u root -p输入密码
2.使用数据库
use mydb;
3.查看有哪些表
show tables;
4.有什么用户
select * from user\G;
说明:\G是让信息格式化输出,注意是要大写,结果有四个
5.查看建表格式
show create table user\G;
可以看到用户名和主机名一起作为主键
在这里插入图片描述
6.创建一个用户,%意味着任何IP都可以登录该数据库。identified by后面接的是密码
create user ‘mofei’ @’%’ identified by ‘12345’;
create user ‘mofeii’ @‘192.168.1.150’ identified by ‘123456’;
确实多出了两个,总共是六个
在这里插入图片描述
7.新建一个dos窗口,使用mofei账号登录
mysql -h localhost -u mofei -p
12345
show databases;
发现看不到在root下面看到的数据库
这是因为我们仅仅是创建了这个用户,仅仅有登录权限,没有其他权限
在这里插入图片描述
8.使用mofeii账号登录,尽管密码是对的,但是IP不相同,仍无法访问
如果我们要求数据库只能在某某地方访问,那我们就可以在主机名上下文章了。
|---------------------------------------------------------------------------------------------------------------------

权限管理

在MySQL中,授权使用grant,revoke命令撤销授权

授权
grant all privileges on databaseName.tableName to ‘用户名’[@‘主机名’]
,如果是数据库中所有的表,那么可以采用*.*的方法取代databaseName.tableName
撤销授权
revoke all privileges on databaseName.tableName from ‘用户名’[@‘主机名’]

刷新权限
flush privileges;

查看权限
show grant for ‘用户名’[@‘主机名’]

权限列表
在这里插入图片描述

1.查看有哪些权限
show grants for ‘mofei’@’%’;
在这里插入图片描述
2.授予mydb的select权限给用户mofei
grant select on mydb.* to ‘mofei’@’%’;
3.删除id为6的数据
delete from area where id=‘6’;
发现删除不了,原因是因为我们并没有授予删除权限。
4.撤回权限
revoke select on mydb.* from ‘mofei’@’%’;
5.发现没有生效,刷新一下
flush privileges

更多操作需要自己多练习

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值