MySQL

MySQL 是全球使用最广泛的开源关系型数据库。它以 InnoDB 存储引擎为核心,兼顾事务、性能与易用性,是互联网业务的事实标准之一。

内容导航

章节内容
架构与数据类型安装、连接、Server 层与 InnoDB 引擎、常用类型
SQL 实战与 Go 客户端常用函数、实用 SQL,以及 database/sql 与 GORM
索引设计与慢查询优化执行计划、设计原则、慢查询治理
事务、锁与 MVCCInnoDB 锁类型、隔离级别与快照读
主从复制、高可用与分库分表binlog 复制、读写分离、Sharding 思路

版本选择

版本说明
MySQL 5.7经典版本,仍有存量使用,已接近 EOL
MySQL 8.0当前主流:窗口函数、CTE、原子 DDL、更好的 JSON
MySQL 8.4 / 9.x新版本,默认关闭部分旧特性
Tip

新项目建议直接使用 MySQL 8.0+,可享受窗口函数、CTE、EXPLAIN ANALYZE 与现代 JSON 支持。生产环境优先选择稳定的小版本,并关注官方安全公告。

关键概念预览

  • 存储引擎:MySQL 是「插件式」架构,最常用的是支持事务与外键的 InnoDB
  • 字符集:统一使用 utf8mb4,避免 emoji 与生僻字问题。
  • 默认隔离级别:可重复读(RR),基于 MVCC 与 Next-Key Lock 实现。
  • 主从复制:基于 binlog,用于读写分离与高可用。
Warning

不要在生产使用 MyISAM(无事务、表锁)或 utf8(仅 3 字节,不能存 emoji)。迁移历史库时,字符集升级是常见且必要的改造项。