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
开发人员操作的比较少,主要是DBA
( Database Administrator
数据库管理员)使用。
1.1 管理用户
说明:
- 在
mysql
中需要通过用户名@
主机名的方式,来唯一标识一个用户。 - 主机名可以使用
%
通配。
1.1.1 查询用户
select *
from mysql.user;
查询的结果如下:
其中 Host
代表当前用户访问的主机,如果为localhost
, 仅代表只能够在当前本机访问,是不可以远程访问的。 User
代表的是访问该数据库的用户名。在MySQL
中需要通过Host
和User
来唯一标识一个用户。
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常用(用户管理:查询用户创建用户修改用户密码删除用户,权限控制:查询权限授予权限撤销权限)的主要内容,如果未能解决你的问题,请参考以下文章
MySQL 基础 -- SQL(通用语法SQL分类DDL 数据定义语言(含数据类型说明)DML 数据操作语言DQL 数据查询语言(别名去重聚合函数排序分页)DCL 数据控制语言)