用户管理
DCL:管理用户,用户表目录mysql -> user
1. 查询数据
use mysql;
select * from user;
2. 创建用户
create user '用户名'@'主机名' identified by '密码';
-- 创建用户admin,只能在当前主机localhost访问,密码为123456
CREATE user 'admin'@'localhost' identified by '123456';
-- 创建用户chen,可以在任意主机进行访问,密码为123456
CREATE user 'chen'@'%' identified by '123456';
3. 修改用户密码
alter user '用户名'@'主机名' identified with mysql_native_password by '新密码';
-- 修改admin用户密码为1234
alter user 'admin'@'localhost' IDENTIFIED with mysql_native_password by '1234';
4. 删除用户
drop user '用户名'@'主机名';
-- 删除用户admin
DROP USER 'admin'@'localhost';
- 创建用户时,主机名用来指明哪个主机可以访问当前mysql
- 主机名可以使用通配符
%
,表示所有主机都可以访问该用户- DCL主要是DBA(数据库管理员)使用,一般开发人员操作较少
-- 创建用户admin,只能在当前主机localhost访问,密码为123456
CREATE user 'admin'@'localhost' identified by '123456';
-- 创建用户chen,可以在任意主机进行访问,密码为123456
CREATE user 'chen'@'%' identified by '123456';
MySQL常用权限
权限 | 描述 |
---|---|
SELECT | 查询数据 |
INSERT | 插入数据 |
UPDATE | 修改数据 |
DELETE | 删除数据 |
ALTER | 修改表 |
DROP | 删除数据库/表/视图 |
CREATE | 创建数据库/表 |
ALL,ALL PRIVILEGES | 所有权限 |
更多权限请看权限一览表
DCL-权限控制
1. 查询权限
show grants for '用户名'@'主机名';
-- 查询权限
SHOW GRANTS FOR 'chen'@'%';
2. 授予权限
grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';
-- 授予用户chen拥有novels数据库所有权限
GRANT ALL ON novels.* to 'chen'@'%';
3. 撤销权限
revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';
-- 撤销用户chen拥有novels数据库的所有权限
REVOKE ALL ON novels.* FROM 'chen'@'%';
注意:
- 多个权限之间用逗号分隔
- 授权时,数据库名和表名可以使用
*
进行通配,代表所有