MySQL之DCL(Data Control Language)

本文详细介绍了MySQL的DCL(Data Control Language),包括用户管理(查询、创建、修改、删除用户)和权限管理(查询、授予权限、撤销权限)。通过实例演示了如何操作用户权限,帮助备战春招或实习的读者掌握MySQL数据库控制。
摘要由CSDN通过智能技术生成
  •  备战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
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李子捌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值
>