- 备战2022春招或暑期实习,本专栏会持续输出MySQL系列文章,祝大家每天进步亿点点!文末私信作者,我们一起去大厂。
- 本篇总结的是 《DCL(Data Control Language)》,后续会每日更新~
- 关于《Redis入门到精通》、《并发编程》、《Java全面入门》、《鸿蒙开发》等知识点可以参考我的往期博客
- 相信自己,越活越坚强,活着就该逢山开路,遇水架桥!生活,你给我压力,我还你奇迹!

目录
一、简介
DCL(Data Control Language)指的是数据库控制语言,用于管理数据库用户、控制数据库的访问权限。
二、用户管理
2.1 查询用户
首先查询系统用户,在MySQL数据库中,用户存储在mysql数据库的user表中(mysql.user),因此可以使用有权限的用户(通常是root账户)来查询user表;通常有两种方式:
use mysql;
select * from user;
select * from mysql.user;
查询的结果如下所示:

在查询的结果中第一列Host代表可以访问的主机,第二列User代表访问数据库的用户名。MySQL中通过Host和User来标记一个用户,因此通常用户的表现形式为'user'@'host' 也就是'用户名'@'主机名'。后续列均表示当前用户所拥有的权限项,N代表无权限,Y代表有权限。
2.2 创建用户
创建用户的语法如下:
create user '用户名'@'主机名' identified by '密码';
案例1:创建一个用户名为liziba,密码为123456,且只允许本机访问的MySQL用户。
create user 'liziba'@'localhost' identified by '123456';
重新查询用户 select * from mysql.user,发现此时user表中新增了一条记录,值得注意的是,此时liziba这个用户,权限项的值都是N,表示当前用户并没有任何权限,这里就是后面会讲的用户授权。

案例2:创建一个用户名为liziqi,密码为123456,且允许任意主机访问的MySQL用户。
create user 'liziqi'@'%' identified by '123456';
在MySQL中,%通配符代表任意,如果当前用户需要通过任意主机访问MySQL,则可以使用%通配符,此时可以再次查询用户表,User为liziqi的用户,访问Host为%。

2.3 修改用户
通常情况下,修改用户用的最多的就是重置密码,虽然这类事情基本上是DBA/公司运维来负责,但我们自己也是需要了解的。
案例1:修改用户liziqi的密码为1234567
alter user 'liziqi'@'%' identif

本文详细介绍了MySQL的DCL(Data Control Language),包括用户管理(查询、创建、修改、删除用户)和权限管理(查询、授予权限、撤销权限)。通过实例演示了如何操作用户权限,帮助备战春招或实习的读者掌握MySQL数据库控制。
最低0.47元/天 解锁文章
594

被折叠的 条评论
为什么被折叠?



