个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~
⑤ 【MySQL】DCL语句 —— 用户管理、权限控制
- SQL分类 :
-
- ①
DDL
:数据定义语言,用来定义数据库对象(数据库,表,字段) - ②
DML
:数据操作语言,用来对数据库表中字段进行增删改 - ③
DQL
:数据查询语言,用来查询数据库中表的记录 - ④
DCL
:数据控制语言,用来创建数据库用户,控制数据库的访问权限
- ①
DCL - 管理用户
:
MySQL用户管理
①查询用户
代码语言:javascript复制USE mysql;
SELECT * FROM USER;
②创建用户
代码语言:javascript复制CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
代码语言:javascript复制-- 实例:
-- 创建用户 private_user,只能在当前主机访问,密码123456
CREATE USER 'private_user'@'localhost' IDENTIFIED BY '123456';
-- 创建用户 public_user,可以在任意主机访问数据库,密码123456
CREATE USER 'public_user'@'%' IDENTIFIED BY '123456';
③修改用户密码
代码语言:javascript复制ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码';
④删除用户
代码语言:javascript复制DROP USER '用户名'@'主机名';
注意:
- ①主机名可以使用
%
通配。 - ②这类SQL开发人员使用较少,主要是
DBA
(DataBase Administrator 数据库管理员)使用。
DCL - 权限控制
:
常用权限分类:
ALL
ALL PRIVILEGES
:所有权限SELECT
:查询数据的权限INSERT
:插入数据的权限UPDATE
:修改数据的权限DELETE
:删除数据的权限ALTER
:修改表的权限DROP
:删除数据库/表/视图的权限CREATE
:创建数据库/表的权限
MySQL控制用户权限:
①查询权限
代码语言:javascript复制SHOW GRANTS FOR '用户名'@'主机名';
②授予权限
代码语言:javascript复制GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';
③撤销权限
代码语言:javascript复制REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
注意:
- ①多个权限之间,使用逗号
,
分隔。 - ②授权时,数据库名和表名可以使用
*
进行通配,代表所有。