DCL 管理用户与权限控制

2023-04-10 09:02:53 浏览数 (1)

DCL

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

查询用户

1、查询用户

代码语言:javascript复制
select * from mysql.user;

2、创建用户

代码语言:javascript复制
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';

3、修改用户密码

代码语言:javascript复制
ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码' ;

4、删除用户

代码语言:javascript复制
DROP USER '用户名'@'主机名' ;

案例

A. 创建用户itcast, 只能够在当前主机localhost访问, 密码123456;

代码语言:javascript复制
create user 'itcast'@'localhost' identified by '123456';

B. 创建用户heima, 可以在任意主机访问该数据库, 密码123456;

代码语言:javascript复制
create user 'heima'@'%' identified by '123456';

C. 修改用户heima的访问密码为1234;

代码语言:javascript复制
alter user 'heima'@'%' identified with mysql_native_password by '1234';

D. 删除 itcast@localhost 用户

代码语言:javascript复制
drop user 'itcast'@'localhost';

权限控制

权限

说明

ALL, ALL PRIVILEGES

所有权限

SELECT

查询数据

INSERT

插入数据

UPDATE

修改数据

DELETE

删除数据

ALTER

修改表

DROP

删除数据库/表/视图

CREATE

创建数据库/表

1、查询权限

代码语言:javascript复制
SHOW GRANTS FOR '用户名'@'主机名' ;

2、授予权限

代码语言:javascript复制
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';

3、撤销权限

代码语言:javascript复制
REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';

案例

A. 查询 'heima'@'%' 用户的权限

代码语言:javascript复制
show grants for 'heima'@'%';

B. 授予 'heima'@'%' 用户itcast数据库所有表的所有操作权限

代码语言:javascript复制
grant all on itcast.* to 'heima'@'%';

C. 撤销 'heima'@'%' 用户的itcast数据库的所有权限

代码语言:javascript复制
revoke all on itcast.* from 'heima'@'%';

0 人点赞