⑤ 【MySQL】DCL语句 —— 用户管理、权限控制
- SQL分类 :
- ①
DDL
:数据定义语言,用来定义数据库对象(数据库,表,字段) - ②
DML
:数据操作语言,用来对数据库表中字段进行增删改 - ③
DQL
:数据查询语言,用来查询数据库中表的记录 - ④
DCL
:数据控制语言,用来创建数据库用户,控制数据库的访问权限
DCL - 管理用户
:
- MySQL用户管理
- ①查询用户
USE mysql; SELECT * FROM USER;
- ②创建用户
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
-- 实例: -- 创建用户 private_user,只能在当前主机访问,密码123456 CREATE USER 'private_user'@'localhost' IDENTIFIED BY '123456'; -- 创建用户 public_user,可以在任意主机访问数据库,密码123456 CREATE USER 'public_user'@'%' IDENTIFIED BY '123456';
- ③修改用户密码
ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码';
- ④删除用户
DROP USER '用户名'@'主机名';
- 注意:
- ①主机名可以使用
%
通配。 - ②这类SQL开发人员使用较少,主要是
DBA
(DataBase Administrator 数据库管理员)使用。
DCL - 权限控制
:
- 常用权限分类:
ALL
\ALL PRIVILEGES
:所有权限SELECT
:查询数据的权限INSERT
:插入数据的权限UPDATE
:修改数据的权限DELETE
:删除数据的权限ALTER
:修改表的权限DROP
:删除数据库/表/视图的权限CREATE
:创建数据库/表的权限
- MySQL控制用户权限:
- ①查询权限
SHOW GRANTS FOR '用户名'@'主机名';
- ②授予权限
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';
- ③撤销权限
REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
- 注意:
- ①多个权限之间,使用逗号
,
分隔。 - ②授权时,数据库名和表名可以使用
*
进行通配,代表所有。