MySQL数据库——SQL(4)-DCL(管理用户、权限控制)

目录

管理用户

1.查询用户

2.创建用户

3.修改用户密码

4.删除用户

示例

权限控制

1.查询权限

2.授予权限

3.撤销权限

示例

DCL总结


DCL

DCL英文全称是Data Control Language(数据控制语言),用来管理数据库用户、控制数据库的访问权限。

管理用户

1.查询用户

USE mysql;
SELECT * FROM user;

2.创建用户

CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';

3.修改用户密码

ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码';

4.删除用户

DROP USER '用户名'@'主机名';

注意:

  • 主机名可以使用通配符‘%’。
  • 这类SQL开发人员操作得比较少,主要是DBA(Database Administrator 数据库管理员)使用。

示例

1.创建用户itcast,只能够在当前主机localhost访问,密码123456;

create user 'itcast'@'localhost' identified by '123456';

2.创建用户joker,可以在任意主机访问该数据库,密码123456;

create user 'joker'@'%' identified by '123456';

3.修改用户joker的访问密码为1234;

alter user 'joker'@'%' identified with mysql_native_password by '1234';

4.删除itcast@localhost用户

drop user 'itcast'@'localhost';

权限控制

MySQL中定义了很多种权限,但是常用的就以下几种:

权限说明
ALL,ALL PRIVLEGES所有权限
SELECT查询数据
INSERT插入数据
UPDATE修改数据
DELETE删除数据
ALTER修改表
DROP删除数据库/表/视图
CREATE创建数据库/表

1.查询权限

SHOW GRANTS FOR '用户名'@'主机名';

2.授予权限

GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';

3.撤销权限

REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';

注意:

  • 多个权限之间,使用逗号分隔
  • 授权时,数据库名和表名可以使用*进行通配,代表所有

示例

1.查询权限

show grants for 'joker'@'%';

2.授予权限

grant all on test.* to 'joker'@'%';

 

授予超级权限(所有数据库的所有表的权限):

grant all on *.* to 'joker'@'%';

 

3.撤销权限

revoke all on test.* from 'joker'@'%';

 

 

DCL总结

1.用户管理

CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '密码';
DROP USER '用户名'@'主机名';

2.权限控制

GRANT 权限列表 ON 数据库名.表名 '用户名'@'主机名';
REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';

end


学习自:黑马程序员——MySQL数据库课程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值