MySQL学习笔记:2.4 DCL-数据控制语言

目录

一、概述

二、DCL-管理用户

三、DCL-权限控制

四、DCL小结


一、概述

DCL,Data Control Language 数据控制语言

用来管理数据库用户、控制数据库的访问权限。

二、DCL-管理用户

1、查询用户

MySQL中,用户信息存储于系统数据库mysql的user表中。

USE mysql;
SELECT * FROM user;

2、创建用户

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

3、修改用户密码

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

备注:

mysql 9中已不再需要使用WITH mysql_native_password

直接

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

4、删除用户

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

注意:

主机名可以使用%通配;

DCL-管理用户案例

-- ---------- DLC 管理用户 ----------

-- 0.查询用户

USE mysql;
SELECT * FROM user;


-- 1.创建用户local_user,只能在当前主机localhost访问数据库,密码123456

CREATE USER 'local_user'@'localhost' IDENTIFIED BY '123456';
SELECT * FROM user;


-- 2.创建用户remote_user,可以再任意主机访问数据库

CREATE USER 'remote_user'@'%' IDENTIFIED BY '123456';
SELECT * FROM user;


-- 3. 修改用户remote_user的密码为123123

ALTER USER 'remote_user'@'%' IDENTIFIED BY '123123';
SELECT * FROM user;


-- 4.删除用户local_user

DROP USER 'local_user'@'localhost';
SELECT * FROM user;



三、DCL-权限控制

MySQL中定义了很多种权限,常用的包括以下几种:

  • ALL,ALL PRIVILEGEDS       所有权限

  • SELECT                               查询数据

  • INSERT                                插入数据

  • UPDATE                               修改数据

  • ALTER                                  修改表

  • DROP                                   删除数据库/表/视图

  • CREATE                               创建数据库/表

1、查询权限

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

2、授予权限

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

3、撤销权限

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

注意:

  • 多个权限之间,使用逗号分隔。

  • 授权时,数据库名和表名都可以使用字符*进行通配,代表所有。

-- ---------- DCL 权限控制 ----------

-- 1.查询权限
SHOW GRANTS FOR 'remote_user'@'%';

-- 2.授予权限
GRANT ALL ON my_database.emp TO 'remote_user'@'%';

# 查询权限
SHOW GRANTS FOR 'remote_user'@'%';

-- 3.撤销权限
REVOKE ALL ON my_database.emp FROM 'remote_user'@'%';

四、DCL小结

1、用户管理

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

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

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

2、权限控制

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值