MySQL 视频课 · 50 集 / 组

DCL:用户管理与权限控制

P24–P26 · 共 3 集 · 每集独立 anchor,可直接从目录跳到本页某一集

视频 p=24 · 时长 10:58

P24 24. 基础-SQL-DCL-用户管理-

讲义 2.7.1 管理用户 p51

按主题对应,非逐句切分

来源与核对说明

以同版讲义的公开镜像核对章节与页码(镜像非官方出品);非逐字稿,示例为原创补充。

本页是学习笔记,不等同于视频逐字稿。原声字幕未取得(匿名接口字幕轨为空且需登录,未使用任何账号),也没有逐句讲解记录;讲义只按节与页码对应,切点未逐句确证。

讲义索引:p51 · 2.7.1 管理用户 · 切点 notexact

讲义是第三方公开镜像(95 页 PDF),不是官方原件;这里只用它核对章节顺序与页码,不转载正文。

完整来源说明与变更记录 →

看视频,对照阅读:在新标签打开原视频(p=24)

DCL 的第一半:怎么建、改、删一个数据库账号。

复习模式:快速跳知识点(详解在下方各节)

复习顺序:先看“一句话理解”能否复述,再扫步骤,最后做自测;答不出时回到小例与易错。

一句话理解

DCL 管的是“谁能连进来”:建用户、改密码、删用户;账号由用户名和主机名一起定位。

按这 4 步做

  1. 先看现有账号:USE mysql; SELECT user, host FROM user; 只读查看,不改任何东西。
  2. 建用户:CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';主机名 localhost 只允许本机,% 允许远程。
  3. 改密码:ALTER USER '用户名'@'主机名' IDENTIFIED BY '新密码'。
  4. 删用户:DROP USER '用户名'@'主机名'。

小例

先准备本集练习数据:p24.sql · 练习库说明

SQL 示例
CREATE USER 'mysqlnotes_demo'@'localhost' IDENTIFIED BY 'LocalOnly_ChangeMe_01';
ALTER USER 'mysqlnotes_demo'@'localhost' IDENTIFIED BY 'LocalOnly_ChangeMe_02';
DROP USER 'mysqlnotes_demo'@'localhost';

【原创演示】三句按顺序演示“建—改—删”,全部限定 localhost,只用于本机练习库。两个密码串是明显的占位值,不是任何真实口令;真机上要换成自己保管的强密码,并且不要把密码写进脚本或提交进仓库。p24.sql 里那两句 SELECT ... FROM mysql.user 只是只读查看账号表,别直接改这张系统表。这些语句只在本机练习库和临时账号上有意义;本页原创例已在隔离的 MySQL 8.0.46 测试实例执行通过(账号用完即删),不是视频里那次演示的复现。

易错点

  • 图省事建一个能从任意主机登录的管理员账号,或把全部权限一次性给业务账号:等于把整台实例交给任何能连上的人;练习只用最小权限的 localhost 账号。
  • 漏写或写错主机名:'u'@'localhost' 与 'u'@'%' 是两个不同账号,删掉一个另一个还在。
  • 把密码硬编码进脚本或截图:示例里只能出现占位串,真实密码应由使用者在本地输入并妥善保管。

30 秒速记

账号 = 用户名 + 主机名;CREATE/ALTER/DROP USER;localhost 与 % 是两个账号;密码只放占位。

自测(2 题,先答再展开)

自测 1:为什么建用户必须写主机名?

MySQL 用“用户名@主机名”共同标识账号,同一用户名从不同来源登录可以是不同账号,权限各自独立。

自测 2:DROP USER 之后,这个账号的权限记录会残留吗?

不会。DROP USER 会连同该账号在权限表里的记录一起删除,“只删账号不删权限”的担心在这里不成立。

材料与来源

展开材料出处、讲义页码与证据等级
材料类型 / 位置支持了什么
P24 原视频页(BV1Kr4y1i7ru)平台视频页 · P24;采样静帧 t012/t20/t30/t40/t50/t60/t70/t80/tendt20 为“DCL-管理用户”四步语法页。
MySQL 8.0 Reference:CREATE USER官方文档核对账号名/主机名与认证插件的写法,未逐字引用。
MySQL 8.0 Reference:账号管理语句官方文档核对 ALTER USER / DROP USER 语义。

按 t20 帧核对:幻灯片“DCL-管理用户”列出四件事——查询用户(USE mysql; SELECT * FROM user;)、创建用户(CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码')、修改密码(ALTER USER … IDENTIFIED WITH mysql_native_password BY '新密码')、删除用户(DROP USER)。正文示例为原创改写,用 localhost 练习账号和明显占位密码,未使用视频里的账号名与密码;无字幕,讲师演示过程未核实,也未在任何实例上执行。

讲义对照:讲义 2.7.1 管理用户 · p51(公开镜像;按主题对应,切点 notexact)

  • 画面静帧 9 帧,采样点 0:12–10:45 / 全片 10:58(只用于确认画面主题,不作内容边界)
  • 原声字幕未取得:匿名接口字幕轨为空且需登录,未使用任何账号

等级含义:平台视频页 / 官方文档 / 课件 = 原始材料;二手整理 = 参考;推断 = 未经核实。站内补充的解释与练习会在此说明。

视频 p=25 · 时长 8:25

P25 25. 基础-SQL-DCL-权限控制-

讲义 2.7.2 权限控制 p52

按主题对应,非逐句切分

来源与核对说明

以同版讲义的公开镜像核对章节与页码(镜像非官方出品);非逐字稿,示例为原创补充。

本页是学习笔记,不等同于视频逐字稿。原声字幕未取得(匿名接口字幕轨为空且需登录,未使用任何账号),也没有逐句讲解记录;讲义只按节与页码对应,切点未逐句确证。

讲义索引:p52 · 2.7.2 权限控制 · 切点 notexact

讲义是第三方公开镜像(95 页 PDF),不是官方原件;这里只用它核对章节顺序与页码,不转载正文。

完整来源说明与变更记录 →

看视频,对照阅读:在新标签打开原视频(p=25)

DCL 的第二半:账号建好后,怎么精确地给权限、收权限。

复习模式:快速跳知识点(详解在下方各节)

复习顺序:先看“一句话理解”能否复述,再扫步骤,最后做自测;答不出时回到小例与易错。

一句话理解

权限控制决定“连进来以后能做什么”:给账号授权、收回权限,粒度可以细到某库某表。

按这 4 步做

  1. 先有账号再授权:CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码'; 建号,然后 GRANT 权限列表 ON 库名.表名 TO '用户名'@'主机名'; 授权,多个权限用逗号分隔。MySQL 8 的 GRANT 不会自动建号,账号不存在会报 1410。
  2. 收回:REVOKE 权限列表 ON 库名.表名 FROM '用户名'@'主机名'。
  3. 查看:SHOW GRANTS FOR '用户名'@'主机名',确认实际生效的权限。
  4. 用该账号实际连一次,验证能查、不能改,而不是只看语句执行成功。

小例

先准备本集练习数据:p25.sql · 练习库说明

SQL 示例
-- 本机学习演示:账号只在本机,脚本结束就删号;密码是写出来给人看的占位串,不是真实口令
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 秒速记

GRANT/REVOKE 权限 ON 库.表 TO/FROM 账号;SHOW GRANTS 复核;范围越小越好。

自测(2 题,先答再展开)

自测 1:为什么示例把权限限定到 mysqlnotes_p25.employee,而不是整库?

权限范围越小,误用和被盗的影响面越小;只读账号不需要同库其它表的写权限。

自测 2:授予成功后怎样确认真的生效?

先用 SHOW GRANTS 看记录,再用该账号实际连一次执行允许和不允许的操作;两步都过才算验证。

材料与来源

展开材料出处、讲义页码与证据等级
材料类型 / 位置支持了什么
P25 原视频页(BV1Kr4y1i7ru)平台视频页 · P25;采样静帧 t012/t20/t30/t40/t50/t60/t70/t80/tendt40 帧可见 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(只用于确认画面主题,不作内容边界)
  • 原声字幕未取得:匿名接口字幕轨为空且需登录,未使用任何账号

等级含义:平台视频页 / 官方文档 / 课件 = 原始材料;二手整理 = 参考;推断 = 未经核实。站内补充的解释与练习会在此说明。

视频 p=26 · 时长 2:56

P26 26. 基础-SQL-DCL小结

讲义:参照前节整理,无独立讲义正文

覆盖范围:2.7 DCL(p50–53)(不设本集切点)

来源与核对说明

以同版讲义的公开镜像核对章节与页码(镜像非官方出品);非逐字稿,示例为原创补充。

本页是学习笔记,不等同于视频逐字稿。原声字幕未取得(匿名接口字幕轨为空且需登录,未使用任何账号),也没有逐句讲解记录;讲义只按节与页码对应,切点未逐句确证。

讲义索引:无本集正文 · 切点 none

讲义是第三方公开镜像(95 页 PDF),不是官方原件;这里只用它核对章节顺序与页码,不转载正文。

完整来源说明与变更记录 →

看视频,对照阅读:在新标签打开原视频(p=26)

DCL 两集的一页回忆清单。

这一集在讲什么

DCL 小结只有两块:用户管理和权限控制。

要点(3 条)

  1. 用户管理:CREATE USER、ALTER USER、DROP USER;账号写成 用户名@主机名,两段一起才唯一。
  2. 权限控制:GRANT 授权、REVOKE 收回,SHOW GRANTS 复核;权限可以细到某库某表。
  3. 只在本地测试库、用最小权限账号练;DCL 改的是“谁能做什么”,不碰表里的数据。

30 秒回忆

用户管理 + 权限控制;账号=用户名@主机名;GRANT/REVOKE/SHOW GRANTS;本地最小权限。

想再练一下(1 题,选做)

自测 1:DCL 和 DML 改的东西有什么不同?

DML 改表里的行数据;DCL 改账号与权限这类“谁能做什么”的规则,不碰业务数据。

材料与来源

展开材料出处、讲义页码与证据等级
材料类型 / 位置支持了什么
P26 原视频页(BV1Kr4y1i7ru)平台视频页 · P26;采样静帧 t012/t20/t30/t40/t50/t60/t70/t80/tendt20–tend 为小结页:1 用户管理 / 2 权限控制。
MySQL 8.0 Reference:账号管理语句官方文档核对 SHOW GRANTS 等语句,未逐字引用。

讲义无“小结”正文;本页参照前节 2.7 DCL(p50–53)整理。画面 t20–tend 帧为小结页,只有“用户管理 / 权限控制”两条;原声字幕未取得,讲师逐句讲解未核。

讲义对照:参照前节整理,无独立讲义正文;参照前节 2.7 DCL(p50–53)

  • 画面静帧 9 帧,采样点 0:12–2:43 / 全片 2:56(只用于确认画面主题,不作内容边界)
  • 原声字幕未取得:匿名接口字幕轨为空且需登录,未使用任何账号

等级含义:平台视频页 / 官方文档 / 课件 = 原始材料;二手整理 = 参考;推断 = 未经核实。站内补充的解释与练习会在此说明。