MySQL DCL
- 1、管理用户
- 2、控制权限
DCL英文全称是Data Control Language(数据控制语言),用来管理数据库用户、控制数据库访问权限。
1、管理用户
管理用户的操作都需要在MySQL自带的 mysql 数据库中进行。
-- 查询用户
-- 需要先切换到MySQL自带的 mysql 数据库。用户信息存在mysql的user表中。
use mysql; /* 切换数据库 */
select * from user; /* 查询所有用户 */
-- 创建用户
create user '用户名'@'主机名' identified by '密码'; /* localhost表示当前主机,% 表示任意主机*/
-- 修改用户密码
alter user '用户名'@'主机名' identified with mysql_native_password by '新密码';
-- 删除用户
drop user '用户名'@'主机名';
2、控制权限
MySQL中定义了很多种权限,常用的有一下几种:
权限 | 说明 |
---|---|
ALL, ALL PRIVILEGES | 所有权限 |
SELECT | 查询权限 |
INSERT | 插入数据 |
UPDATE | 修改数据 |
DELETE | 删除数据 |
ALTER | 修改表 |
DROP | 删除数据库 / 表 / 视图 |
CREATE | 创建数据库 / 表 |
权限控制主要用到的DCL语句有:
-- 查询权限
show grants for '用户名'@'主机名';
-- 授予权限
grant 权限列表 on 数据库名.表明 to '用户名'@'主机名'; /*数据库名和表名可以使用 * 通配符,主机名可以使用 % 通配符*/
-- 撤销权限
revoke 权限列表 on 数据库名.表明 from '用户名'@'主机名'; /*数据库名和表名可以使用 * 通配符,主机名可以使用 % 通配符*/