1.4 DCL(数据控制语言)

1.4 DCL(数据控制语言)

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

1. 管理用户

  1. 查询用户:
1
2
USE mysql;
SELECT * FROM user;
  1. 创建用户:
1
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
  1. 修改用户密码:
1
ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码';
  1. 删除用户:
1
DROP USER '用户名'@'主机名';
  1. 例子:
1
2
3
4
5
6
7
8
9
-- 创建用户test,只能在当前主机localhost访问
create user 'test'@'localhost' identified by '123456';
-- 创建用户test,能在任意主机访问
create user 'test1'@'%' identified by '123456';
create user 'test' identified by '123456';
-- 修改密码
alter user 'test'@'localhost' identified with mysql_native_password by '1234';
-- 删除用户
drop user 'test'@'localhost';

注意事项

  • 主机名可以使用 % 通配

2. 权限控制

  1. 常用权限:
权限 说明
ALL, ALL PRIVILEGES 所有权限
SELECT 查询数据
INSERT 插入数据
UPDATE 修改数据
DELETE 删除数据
ALTER 修改表
DROP 删除数据库/表/视图
CREATE 创建数据库/表

更多权限请看权限一览表

查询权限:

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

授予权限:

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

撤销权限:

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

注意事项

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

1.4 DCL(数据控制语言)
http://binbo-zappy.github.io/2024/11/26/MySQL/1-4-DCL(数据控制语言)/
作者
Binbo
发布于
2024年11月26日
许可协议