一、DCL-管理用户
DCL(data control language) 数据控制语言,用来管理数据库用户、控制数据库的访问权限。
- 查询用户
user mysql;
或
select * from user;
- 创建用户
create user ‘用户名’ @‘主机名’ identified by ‘密码’;
举例:
-
创建用户myuser, 只能够在当前主机localhost访问,密码123456
create user 'myuser'@'loaclhost' identified by '123456';
-
创建用户myuser, 可以在任意主机访问,密码123456
create user 'myuser'@'%' identified by '123456';
- 修改用户密码
alter user ‘用户名’@‘主机名’ identified with mysql_native_passwd by ‘新密码’; # mysql_native_passwd 指加密方式
举例:
- 修改用户myuser的密码为1234
alter user 'myuser'@'%' identified with mysql_native_passwd by '1234';
- 删除用户
drop user ‘用户名’@‘主机名’;
二、DCL-权限控制
-
权限表
-
查询权限
show grants for ‘用户名’@‘主机名’;
- 授予权限
grant 权限列表 on 数据库.表名 to ‘用户名’@‘主机名’;
举例:
- grant all on mydb.* to ‘myuser’@‘%’;
- 撤销权限
revoke 权限列表 on 数据库.表名 from ‘用户名’@‘主机名’;
举例
-
revoke all on mydb.* from ‘myuser’@‘%’;
注意:
- 多个权限之间使用逗号分隔
- 授权时,数据库名和表名都可以使用*进行通配,代表所有