1.4 DCL(数据控制语言)
DCL英文全称是Data Control
Language(数据控制语言),用来管理数据库用户、控制数据库的访问权限。
1. 管理用户
- 查询用户:
1 2
| USE mysql; SELECT * FROM user;
|
- 创建用户:
1
| CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
|
- 修改用户密码:
1
| ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码';
|
- 删除用户:
- 例子:
1 2 3 4 5 6 7 8 9
| create user 'test'@'localhost' identified by '123456';
create user 'test1'@'%' identified by '123456'; create user 'test' identified by '123456';
alter user 'test'@'localhost' identified with mysql_native_password by '1234';
drop user 'test'@'localhost';
|
注意事项
2. 权限控制
- 常用权限:
权限 |
说明 |
ALL, ALL PRIVILEGES |
所有权限 |
SELECT |
查询数据 |
INSERT |
插入数据 |
UPDATE |
修改数据 |
DELETE |
删除数据 |
ALTER |
修改表 |
DROP |
删除数据库/表/视图 |
CREATE |
创建数据库/表 |
更多权限请看权限一览表
查询权限:
1
| SHOW GRANTS FOR '用户名'@'主机名';
|
授予权限:
1
| GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';
|
撤销权限:
1
| REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
|
注意事项
- 多个权限用逗号分隔
- 授权时,数据库名和表名可以用 * 进行通配,代表所有