一、DCL-管理用户
主机名可以使用%通配。
这类sql开发人员使用较少,主要是dba使用,数据库管理员。
1、查询用户
USE mysql;
select * from user;
2、创建用户
语法 create user '用户名'@'主机名' identified by '密码';
-- 1、创建用户itcomp,只能在当前主机localhost访问,密码123456
create user 'itcomp'@'localhost' identified by '123456';
-- 2、创建用户tianma,可以再任意主机访问该数据库,密码123456
create user 'tianma'@'%' identified by '123456';
3、修改用户密码
语法 alter user '用户名'@'主机名' identified with mysql_native_password by '新密码';
alter user 'tianma'@'%' identified with mysql_native_password by '1234';
4、删除用户
语法 drop user '用户名'@'主机名';
drop user 'itcomp'@'localhost';
二、DCL-权限控制
# 对个权限之间,使用逗号分隔
# 授权时,数据库和表名可以用*进行通配,代表所有。
你可以在创建用户时,为用户指定权限,在对应的权限列中,在插入语句中设置为 'Y' 即可,用户权限列表如下:
ALL,ALL PRIVILEGES 所有权限
Select_priv 查询权限
Insert_priv 插入权限
Update_priv 修改权限
Delete_priv 删除权限
Create_priv 创建数据库/表/视图
Drop_priv 删除数据库/表
Reload_priv
Shutdown_priv
Process_priv
File_priv
Grant_priv
References_priv
Index_priv
Alter_priv 修改表
1、查询权限
语法 SHOW GRANTS FOR '用户名'@'主机名';
SHOW GRANTS FOR 'tianma'@'%';
2、授予权限
语法 GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';
GRANT all ON itcast.* TO 'tianma'@'%';
3、撤销权限
语法 REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
REVOKE all ON itcast.* FROM 'tianma'@'%';