1、DCL
1.1 定义
数据控制语言(Data Control Language,DCL):主要用于创建数据库用户、控制数据库的访问权限。
这类SQL开发人员操作的比较少,主要是数据库管理员(Database Administrator,DBA)使用。
1.2 核心指令
(1)查询、创建、修改、删除与DDL语言操作指令一样,这里不再列举;
(2)权限配置:GRANT
(3)撤销权限:REVOKE
1.3 DCL指令操作
DCL主要用于管理用户、权限控制两方面的操作。管理用户包括查询、创建、修改、删除用户;权限控制包括查询、授予、撤销权限等。
1.3.1 管理用户
(1)查询用户
use mysql;
select * from user;
(2)创建用户
create user ‘用户名’@‘主机名’ identified by ‘密码’;
(3)修改用户密码
alter user ‘用户名’@‘主机名’ identified with mysql_native_password by ‘新密码’;
(4)删除用户
drop user ‘用户名’@‘主机名’;
注:主机名可以用%通配
1.3.2 权限控制
(1)查询权限
show grants for ‘用户名’@‘主机名’;
(2)授予权限
grant 权限列表 on 数据库名.表名 to ‘用户名’@‘主机名’;
(3)撤销权限
revoke 权限列表 on 数据库名.表名 from ‘用户名’@‘主机名’;
(4)刷新权限
flush privileges;
注:多个权限之间,使用逗号分隔
授权时,数据库名和表名可以使用 * 进行通配,代表所有。
常用的权限如下:
权限 | 说明 |
---|---|
ALL, ALL PRIVILEGES | 所有权限 |
SELECT | 查询数据 |
INSERT | 插入数据 |
UPDATE | 修改数据 |
DELETE | 删除数据 |
ALTER | 修改表 |
DROP | 删除数据库/表/视图 |
CREATE | 创建数据库/表 |
1.4 数据库远程访问
使用其他电脑远程访问数据库时,需要注意以下事项,不然会访问失败。
(1)host权限设置为‘%’;
(2)防火墙开放数据库的端口号;
(3)使用内网访问时,远程ip应填内网的ip。
————————————————
以上内容仅为学习笔记,若有问题,请大家指正批评!!