MySQL 运维知识地图:从入门配置到高可用排障原创
MySQL 分类下积累了 29 篇文章,从配置调优到高可用切换都覆盖到了,但一直是按写作时间散落排列——新读者点进分类页,看不出"先看哪篇、再看哪篇"。这一页把它们按实际运维场景重新组织成一条阅读路径,帮你按需定位,而不是从头翻到尾。
# 1. 入门 / 配置:把一个 MySQL 实例配对
新装一个实例,或者接手一个陌生实例排查问题,从这四篇开始建立基本认知:
| 主题 | 文章 | 说明 |
|---|---|---|
| 核心参数 | MySQL8 配置文件 my.cnf 重要参数解读 | 一份实例最先要读懂的配置项 |
| 事务隔离级别 | MySQL 的事务隔离级别 | 四种隔离级别与幻读的关系 |
| 锁机制 | MySQL 锁 | 行锁/表锁/间隙锁的适用场景 |
| 字符集 | MySQL 不同字符集之间的区别和选择 | utf8 与 utf8mb4 的坑 |
# 2. 日常运维:每天都会用到的操作
| 主题 | 文章 | 说明 |
|---|---|---|
| 常用 SQL/命令 | DBA 常用 SQL 和命令整理备查 | 速查表,收藏用 |
| 逻辑备份 | MySQLdump 逻辑备份 | mysqldump 参数与恢复流程 |
| 权限管理 | MySQL 角色管理 | 8.0 引入的 role 替代零散 GRANT |
| 秒级克隆 | MySQL8 快速克隆插件使用指南 | Clone Plugin 搭建从库/迁移数据 |
| 双 1 安全设置 | MySQL8 双 1 设置保障安全 | sync_binlog/innodb_flush_log_at_trx_commit |
| CSV 乱码 | MySQL 导出 CSV 中文乱码:字符集链路从头讲一遍 | 导出导入乱码的根因排查 |
| 造测试数据 | MySQL 存储过程批量生成数据 | 用存储过程刷压测数据 |
| 幂等写入 | insert on duplicate key update / replace into / insert ignore 的理解 | 三种"写入即更新"语义的区别 |
| 查重去重 | MySQL 使用 SQL 语句查重去重 | 常见查重 SQL 模式 |
| JOIN 语义 | MySQL 的 Left join、Right join 和 Inner join 的区别 | 三种 JOIN 结果集差异 |
# 3. 高可用:从单机到集群
按"从简单到复杂"的顺序:
| 主题 | 文章 | 说明 |
|---|---|---|
| GTID 复制 | MySQL 基于 GTID 主从复制:跳过异常事务的正确姿势 | 主从复制的基础与故障跳过 |
| MGR | MySQL MGR 配合 MySQL-Router 实现 InnoDB Cluster | 多主复制组的搭建思路 |
| InnoDB Cluster | innodb cluster 安装 | MGR 之上的官方高可用方案完整搭建 |
| ReplicaSet 安装 | MySQL ReplicaSet 安装 | 传统主从的 InnoDB Cluster 化 |
| ReplicaSet 自动切换 | 脚本实现 MySQL ReplicaSet 高可用 | 主库故障后的自动切换脚本 |
| 读写分离 | MySQL Router 实现读写分离 | Router 层面的读写流量拆分 |
# 4. 性能优化:从看懂执行计划开始
| 主题 | 文章 | 说明 |
|---|---|---|
| 执行计划 | MySQL执行计划分析 | EXPLAIN 各字段怎么读,配合慢日志定位问题 |
| 选错索引 | MySQL为什么有时候会选错索引 | 统计信息、区分度对优化器选择的影响 |
| 无锁改表 | Gh-ost 重建表,清除表碎片率 | 大表 DDL 不锁表的方案 |
| 表维护 | OPTIMIZE TABLE 和 ANALYZE TABLE 的区别:用实测数据说话 | 何时该跑哪个命令 |
| 压测 | MySQL 性能压测:Sysbench 1.0 实战 | 用 Sysbench 跑基准测试 |
| 同步方案选型 | 单表数据同步方案选型:为什么不该用 mysqldump 做「实时同步」 | 不同同步方案的适用边界 |
# 5. 排障:出问题时按图索骥
| 主题 | 文章 | 说明 |
|---|---|---|
| 死锁 | MySQL 死锁问题 | 死锁日志怎么读、常见死锁模式 |
| binlog 定位 | MySQL 快速分析 binlog 定位问题 | 用 binlog 还原误操作现场 |
| 抓包审计 | MySQL网络抓包审计 | 网络层排查慢查询/连接异常 |
# 怎么用这份地图
- 第一次接手 MySQL 运维:按顺序读完第 1、2 节,能应付日常 80% 的操作。
- 要上高可用:第 3 节按"GTID → MGR/InnoDB Cluster 或 ReplicaSet → Router 读写分离"的顺序读,两条高可用路线(MGR 系 vs ReplicaSet 系)不必都学,选一条跟你的 MySQL 版本和团队运维习惯匹配的。
- 线上出问题:直接跳第 5 节,配合第 4 节的执行计划分析定位性能问题。
上次更新: 7/29/2026
- 01
- Nginx 运维知识地图:从配置基础到反向代理实战 原创07-29
- 03
- Redis 运维知识地图:从单机到 Cluster 排障 原创07-29