DCL介绍: DCL语言 是用来管理数据库用户,控制权限数据库的访问权限;
? · 控制哪个用户可以访问
? · 控制用户有哪些权限
MySQL用户的信息,用户权限信息都是存放在【系统数据库 mysql 】,【user表】中的;
① DCL 管理用户
User表
use mysql;
select * from user;
通过Host 字段 主机地址与 User字段 用户名,可以确认唯一用户 【 ‘用户名’@‘主机名’ 】;
Host 字段表示主机地址,如果为localhost 表示当前用户只能在本机上访问数据库;
create user 'testRoot'@'localhost' identified by '123456';
create user 'testUser'@'%' identified by '123456';
alter user 'testUser'@'%' identified with mysql_native_password by '1234';
drop user 'testUser'@'%';
② 权限控制
Mysql中定义了许多权限,常用的为一下几种:
ALL,ALL PRIVIEGES 表示所有权限;
· select 查询数据;
· insert 插入数据;
· update 修改数据;
· delete 删除数据;
· alter 修改表;
· drop 删除数据库/表/视图
· 创建数据库/表
show grants for 'testRoot'@'localhost';
grant all on mysql_test.test_user_new to 'testRoot'@'localhost';
grant select,update on mysql_test.test_user_new to 'testRoot'@'localhost';
grant all on *.* to 'testRoot'@'localhost';
revoke all on *.* from 'testRoot'@'localhost';
【注意】
? · 多个权限之间,使用逗号分隔
? · 授权时,数据库名与表名 都可以使用 * 进行统配,代表所有;
|