MySQL 视频课 · 50 集 / DCL:用户管理与权限控制 / P25
第 25 集 / 共 50 · DCL:用户管理与权限控制 · 视频 p=25 · 时长 8:25
P25 25. 基础-SQL-DCL-权限控制-
看视频,对照阅读:在新标签打开原视频(p=25)
DCL 的第二半:账号建好后,怎么精确地给权限、收权限。
复习模式:快速跳知识点(详解在下方各节)
复习顺序:先看“一句话理解”能否复述,再扫步骤,最后做自测;答不出时回到小例与易错。
一句话理解
权限控制决定“连进来以后能做什么”:给账号授权、收回权限,粒度可以细到某库某表。
按这 4 步做
- 先有账号再授权:
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';建号,然后GRANT 权限列表 ON 库名.表名 TO '用户名'@'主机名';授权,多个权限用逗号分隔。MySQL 8 的 GRANT 不会自动建号,账号不存在会报 1410。 - 收回:REVOKE 权限列表 ON 库名.表名 FROM '用户名'@'主机名'。
- 查看:SHOW GRANTS FOR '用户名'@'主机名',确认实际生效的权限。
- 用该账号实际连一次,验证能查、不能改,而不是只看语句执行成功。
小例
-- 本机学习演示:账号只在本机,脚本结束就删号;密码是写出来给人看的占位串,不是真实口令
DROP USER IF EXISTS 'mysqlnotes_demo'@'localhost';
CREATE USER 'mysqlnotes_demo'@'localhost' IDENTIFIED BY 'LocalOnly_Demo_ChangeMe_01';
GRANT SELECT, INSERT ON mysqlnotes_p25.employee TO 'mysqlnotes_demo'@'localhost';
SHOW GRANTS FOR 'mysqlnotes_demo'@'localhost';
REVOKE INSERT ON mysqlnotes_p25.employee FROM 'mysqlnotes_demo'@'localhost';
DROP USER 'mysqlnotes_demo'@'localhost';
【原创演示】这是本机学习用的演示账号:'mysqlnotes_demo'@'localhost' 只在你自己机器上存在,由本页练习脚本 p25.sql 建库、建号,结束时删号,和视频里的 itcast/heima 账号无关;密码 LocalOnly_Demo_ChangeMe_01 是明显的占位串,不是任何真实口令或生产凭据。这几句演示“建号 → 给 mysqlnotes_p25.employee 授查+插 → SHOW GRANTS 复核 → 收回插入只留查询 → 删号”,授权范围写死到库.表,不用 *.*。本页原创例已在隔离的 MySQL 8.0.46 实例跑通(临时库 + 临时账号,结束即清理);真实环境请换成自己保管的强密码,别把密码写进仓库。
易错点
- 图快把全部权限一次性授到整个实例:一旦出问题既难定位也难收窄;应当逐项授权、限定到库.表。
- 只授权不看 SHOW GRANTS:账号可能还带着之前的旧权限,改完必须复核。
- 直接改 mysql 库的权限表就以为生效:手工改表需要额外刷新权限,正规做法是用 GRANT/REVOKE。
30 秒速记
自测(2 题,先答再展开)
自测 1:为什么示例把权限限定到 mysqlnotes_p25.employee,而不是整库?
权限范围越小,误用和被盗的影响面越小;只读账号不需要同库其它表的写权限。
自测 2:授予成功后怎样确认真的生效?
先用 SHOW GRANTS 看记录,再用该账号实际连一次执行允许和不允许的操作;两步都过才算验证。
材料与来源
展开材料出处、讲义页码与证据等级
| 材料 | 类型 / 位置 | 支持了什么 |
|---|---|---|
| P25 原视频页(BV1Kr4y1i7ru) | 平台视频页 · P25;采样静帧 t012/t20/t30/t40/t50/t60/t70/t80/tend | t40 帧可见 Workbench 内的建号/改密/删号演示画面。 |
| MySQL 8.0 Reference:GRANT 语句 | 官方文档 | 核对权限列表与库.表范围的写法,未逐字引用。 |
P25 标题为“DCL-权限控制”。采样帧 t40 可见讲师在 Workbench 里演示建号/改密/删号(账号名形如 itcast@localhost、heima@%),具体授权语句未在帧中取得;正文 GRANT/REVOKE 示例按 MySQL 8.0 语法原创编写,使用 localhost 演示账号与独立练习库 mysqlnotes_p25;本页原创例已在隔离的 MySQL 8.0.46 实测通过(账号建完即删,公开的密码是本机占位串,不含真实凭据),未照抄视频账号。
讲义对照:讲义 2.7.2 权限控制 · p52(公开镜像;按主题对应,切点 notexact)
- 画面静帧 9 帧,采样点 0:12–8:12 / 全片 8:25(只用于确认画面主题,不作内容边界)
- 原声字幕未取得:匿名接口字幕轨为空且需登录,未使用任何账号
等级含义:平台视频页 / 官方文档 / 课件 = 原始材料;二手整理 = 参考;推断 = 未经核实。站内补充的解释与练习会在此说明。