MySQL用户管理与权限管理

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

更多操作需要自己多练习

发布了82 篇原创文章 · 获赞 19 · 访问量 4635

猜你喜欢

转载自blog.csdn.net/ABCisCOOL/article/details/105323904