计算机应用

导航

第18周 数据库安全管理与综合复习

第18周 · 数据库安全管理与综合复习

最后一周,两件事:数据安全(备份还原、用户权限)和全书串讲(把 18 周知识收成一张地图,迎接期末与 3+证书考试)。


一、知识点:为什么重视数据安全

数据库坏了、误删了、被越权改了——都可能造成无法挽回的损失。两道防线:备份还原(出事能恢复)+ 权限管理(出事之前就防住)。


二、操作教程:备份(mysqldump)

mysqldump 是逻辑备份命令,在系统命令行(cmd/终端)执行,不是 mysql> 里

:: 备份整个 school 库到一个 .sql 文件
mysqldump -u root -p school > D:/backup/school.sql

:: 备份所有库
mysqldump -u root -p --all-databases > D:/backup/all.sql

图形化工具(Workbench / Navicat)的"导出/转储"本质也是调 mysqldump,点点点即可。


三、操作教程:还原(SOURCE / 导入)

-- 方法一:在 mysql> 里用 SOURCE(先建库并切换)
CREATE DATABASE school CHARACTER SET utf8mb4;
USE school;
SOURCE D:/backup/school.sql;

-- 方法二:系统命令行直接导入
mysql -u root -p school < D:/backup/school.sql

备份文件就是一串 SQL 文本,可编辑、可迁移,这就是"逻辑备份"的好处。


四、操作教程:用户管理

-- 创建用户(localhost 表示仅本机可连)
CREATE USER 'stu'@'localhost' IDENTIFIED BY '123456';

-- 修改密码
ALTER USER 'stu'@'localhost' IDENTIFIED BY 'NewPass@123';

-- 删除用户
DROP USER 'stu'@'localhost';

'用户'@'主机' 是一个整体;'stu'@'localhost''stu'@'%' 是两个不同账号。


五、操作教程:权限授予与回收(GRANT / REVOKE)

权限粒度从粗到细:全局 → 库 → 表 → 列

-- 只给 stu 在 school 库上的查询权限
GRANT SELECT ON school.* TO 'stu'@'localhost';

-- 回收(即使没授予过,也可示范回收语法)
REVOKE DELETE ON school.* FROM 'stu'@'localhost';

-- 刷新权限(MySQL 8.0 中 GRANT 已隐含刷新,老版本需要)
FLUSH PRIVILEGES;

常见权限:SELECT INSERT UPDATE DELETE CREATE DROP ALL PRIVILEGES(全部)。

列级授权示例:只让某用户看学生姓名、不能看成绩

GRANT SELECT(sname) ON school.student TO 'stu'@'localhost';

六、知识点:三大范式(设计表的规范)

范式 核心要求 消除的问题
1NF 字段不可再分(原子性),一行一列只存一个值 重复组/多值
2NF 满足 1NF,且非主属性完全函数依赖于候选码 部分函数依赖
3NF 满足 2NF,且非主属性不传递依赖于候选码 传递函数依赖
  • 部分函数依赖:如(学号,课号)→姓名,姓名只依赖学号(候选码的一部分)→ 违规,应拆表。
  • 传递函数依赖:如 学号→系号→系主任,系主任经系号传递依赖学号 → 违规,系号、系主任应单独成表。

目标:减少冗余、避免更新异常。实际项目常为了查询效率适当"反范式",但考试按范式来。


七、全书知识地图(18 周串讲)

阶段 周次 主题
概念基础 1–2 数据库概述、三级模式/关系模型
环境搭建 3–4 Windows / Linux 安装 MySQL、图形化工具
库表设计 5–8 建库建表、数据类型、约束/自增、索引、综合实训
数据查询 9–14 SELECT、WHERE/ORDER、LIKE、函数/聚合、分组/子查询、JOIN/UNION
数据更新 15 INSERT / UPDATE / DELETE
高级对象 16–17 视图、事务、存储过程、函数、触发器
安全与复习 18 备份还原、用户权限、范式、串讲

八、3+证书高频考点速记

  1. 关系模型术语:候选码/主码/外码、实体/参照完整性。
  2. 数据类型CHAR vs VARCHAR、金额用 DECIMAL
  3. 约束:主键(唯一非空)、外键(引用一致)、AUTO_INCREMENT 须为主键。
  4. 查询WHERE(行)、GROUP BY+HAVING(组)、ORDER BY(排序)、LIKE%/_)。
  5. 聚合COUNT(*)COUNT(列)(后者不计 NULL);聚合忽略 NULL。
  6. 连接INNER JOIN(交集)vs LEFT JOIN(保左表)。
  7. 子查询:先内后外;多值用 IN
  8. 更新安全UPDATE/DELETE 必须带 WHERE
  9. 事务 ACID:原子性、一致性、隔离性、持久性。
  10. 范式:1NF 原子、2NF 消部分依赖、3NF 消传递依赖。

九、易混点排查表

现象 解决方法
备份命令在 mysql> 里报错 mysqldump 是系统命令行工具,退出 mysql 再执行
还原提示库不存在 CREATE DATABASEUSESOURCE
用户连不上 确认 '用户'@'主机' 与连接来源匹配(localhost / %)
GRANT 不生效 确认权限粒度(库.* / 表 / 列);老版本需 FLUSH PRIVILEGES
范式判断卡住 先找候选码,再看非主属性依赖的是"全部"还是"部分/传递"
备份文件巨大 逻辑备份含数据;只想要结构加 --no-data

十、小测验(自测)

  1. 创建用户 stu@localhost 并只授 school 库 SELECT 权限,再回收 DELETE 的 SQL 怎么写?
  2. 事务 ACID 四个特性各是什么含义?
  3. 简述 1NF / 2NF / 3NF 的核心要求,"部分函数依赖"和"传递函数依赖"分别指什么?
  4. 用 mysqldump 备份 school 库、再用 SOURCE 还原,命令分别怎么写?

【声明】本文由 AI 辅助生成,仅供 MySQL 数据库教学参考,如有疑误以教材为准。

posted on 2026-08-29 10:26  eagle福  阅读(8)  评论(0)    收藏  举报