← 返回网站实战路线

第 2 步 · 数据库 · 7-10 天

MySQL 快速使用与实战

为网站设计数据结构,掌握建库建表、增删改查、索引、用户权限和备份恢复。

3 个阶段本阶段产出:可供 Go API 使用的用户与内容数据表,以及独立应用账号。
MySQL 8.4 手册安装、SQL、权限和备份官方参考。访问官方资料 ↗

本阶段思路

学到刚好能推动网站进入下一步

理解用途

先知道它位于哪里

明确当前技术在网站中的职责,以及它与上一步、下一步怎样连接。

完成实战

所有练习进入同一项目

不做无关的小例子,直接完善正在搭建的网站。

按结果验收

达到交付标准再继续

以可运行、可检查的结果判断是否完成,而不是以看完多少教程判断。

详细学习思路

MySQL 的 3 个实战阶段

先完成常用操作,再连接真实网站,最后按检查清单交付本阶段成果。

01快速入门 · 2-3 天安装、连接与基础 SQL能建库建表,并从命令行完成增删改查。

需要学习

  • 安装、启动、登录和配置位置
  • CREATE、INSERT、SELECT、UPDATE、DELETE
  • WHERE、ORDER BY、LIMIT 与 NULL

动手练习

  • 创建 webapp 数据库
  • 建立 users 和 posts 表
  • 完成内容的增删改查

进入下一步前

  • 危险更新前先 SELECT
  • 字段使用合适数据类型
  • 字符集统一为 utf8mb4

官方资料与延伸阅读

MySQL Tutorial数据库与 SQL 官方入门。打开 ↗
02网站数据 · 3-4 天关系、约束与索引让数据结构能表达网站业务,并支持常用查询。

需要学习

  • 主键、唯一约束、外键与时间字段
  • 一对多关系、JOIN 和分页
  • 普通索引、联合索引和 EXPLAIN

动手练习

  • 给文章关联作者
  • 实现文章列表分页
  • 为登录邮箱和发布时间添加索引

进入下一步前

  • 重复邮箱会被拒绝
  • 常用查询不全表扫描
  • 能解释每个索引服务哪个查询

官方资料与延伸阅读

MySQL Optimization索引与查询优化。打开 ↗
03阶段交付 · 2-3 天应用账号、事务与备份安全地把数据库交给下一阶段的 Go 服务使用。

需要学习

  • CREATE USER、GRANT 与最小权限
  • 事务提交、回滚和连接配置
  • mysqldump、恢复与配置保密

动手练习

  • 创建只访问 webapp 的应用账号
  • 完成一次备份与恢复
  • 准备 Go 使用的数据库连接信息

进入下一步前

  • 应用不使用 root 账号
  • 密码不提交进 Git
  • 备份文件可以实际恢复

官方资料与延伸阅读

MySQL 账号管理用户和权限官方说明。打开 ↗备份与恢复验证备份可用。打开 ↗