DCL-2-权限控制
DCL-2-权限控制
- 权限控制
- DCL - 权限控制
- 案例
权限控制
MySQL种定义了很多种权限, 但是常用的就以下几种:
权限 | 说明 |
---|---|
ALL, ALL PRIVILEGES | 所有权限 |
SELECT | 查询数据 |
INSERT | 插入数据 |
UPDATE | 修改数据 |
DELETE | 删除数据 |
ALTER | 修改表 |
DROP | 删除数据库/表/视图 |
CREATE | 创建数据库/表 |
上面的并不完整, 但应该也够用了, 有兴趣可以去官方文档中查询更多
DCL - 权限控制
-
查询权限
SHOW GRANTS FOR '用户名'@'主机名';
-
授予权限
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';
-
撤销权限
REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
-
注意
- 多个权限之间, 使用逗号分隔
- 授权时, 数据库名和表名可以使用
*
进行通配, 代表所有
案例
-
查询权限
查询上节创建的用户
test2
的权限show grants for 'test2'@'%';
-
授予权限
授予
test2
用户test
库中所有的权限grant all on test.* to 'test2'@'%';
再次查询
test2
的权限 -
撤销权限
撤销
test2
用户test
库中所有的权限revoke all on test.* from 'test2'@'%';
再次查询
test2
的权限