MySQL 基础 SQL -- DCL 数据控制语言 DBA常用(用户管理:查询用户创建用户修改用户密码删除用户,权限控制:查询权限授予权限撤销权限)

Posted CodeJiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 基础 SQL -- DCL 数据控制语言 DBA常用(用户管理:查询用户创建用户修改用户密码删除用户,权限控制:查询权限授予权限撤销权限)相关的知识,希望对你有一定的参考价值。

文章目录

DDL 数据定义语言
DML 数据操作语言
DQL 数据查询语言
DCL 数据控制语言

1. DCL(数据控制语言 DBA常用)

DCL英文全称是Data Control Language(数据控制语言),用来管理数据库用户、控制数据库的访问权限

说明:

这类SQL开发人员操作的比较少,主要是DBADatabase Administrator 数据库管理员)使用。


1.1 管理用户

说明:

  • mysql中需要通过用户名@主机名的方式,来唯一标识一个用户。
  • 主机名可以使用 % 通配。

1.1.1 查询用户

select *
from mysql.user;

查询的结果如下:

其中 Host代表当前用户访问的主机,如果为localhost, 仅代表只能够在当前本机访问,是不可以远程访问的。 User代表的是访问该数据库的用户名。在MySQL中需要通过HostUser唯一标识一个用户


1.1.2 创建用户

语法:

CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';

示例1:创建用户user1,只可以在当前主机localhost访问,密码123456

create user 'user1'@'localhost' identified by '123456';

执行结果:

示例2:创建用户user2,可以在任意主机访问该数据库,密码123456

# 用%表示任意主机
create user 'user2'@'%' identified by '123456';

执行结果:


1.1.3 修改用户密码

语法:

# mysql_native_password 是MySQL的加密方式
ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码';

示例:把刚刚创建的user1的密码设置为888888

alter user 'user1'@'localhost' identified with mysql_native_password by '888888';

执行结果:


1.1.4 删除用户

语法:

DROP USER '用户名'@'主机名' ;

示例:删除user2

DROP USER 'user2'@'%';

执行结果:


1.2 权限控制

MySQL中定义了很多种权限,但是常用的就以下几种:

上述只是简单罗列了常见的几种权限描述,其他权限描述及含义,可以直接参考官方文档

说明:

  • 多个权限之间,使用逗号分隔。
  • 授权时, 数据库名和表名可以使用 * 进行通配,代表所有。

1.2.1 查询权限

语法:

SHOW GRANTS FOR '用户名'@'主机名';

示例: 查询 'user1'@'localhost' 用户的权限

SHOW GRANTS FOR 'user1'@'localhost';

执行结果:


1.2.2 授予权限

语法:

GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';

示例:授予 'user1'@'localhost' 用户codejiao数据库所有表的所有操作权限

我们先查看user1目前可以访问到的数据库:

现在授予'user1'@'localhost' 用户codejiao数据库所有表的所有操作权限

GRANT all ON codejiao.* TO 'user1'@'localhost';

执行结果:



1.2.3 撤销权限

语法:

REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';

示例:撤销 'user1'@'localhost' 用户的codejiao数据库的所有权限

revoke all on codejiao.* from 'user1'@'localhost';

运行结果:


1.3 DCL小结



以上是关于MySQL 基础 SQL -- DCL 数据控制语言 DBA常用(用户管理:查询用户创建用户修改用户密码删除用户,权限控制:查询权限授予权限撤销权限)的主要内容,如果未能解决你的问题,请参考以下文章

SQL基础-----DCL

SQL基础-----DCL

MySQL 基础 -- SQL(通用语法SQL分类DDL 数据定义语言(含数据类型说明)DML 数据操作语言DQL 数据查询语言(别名去重聚合函数排序分页)DCL 数据控制语言)

MySQL基础

MySQL的数据控制语言DCL

MySQL的数据控制语言DCL