跳转至

MySQL

关系型数据库,日常重点是数据模型、索引、备份恢复、复制和慢查询。

日常检查

-- 版本、连接与运行状态
SELECT VERSION();
SHOW PROCESSLIST;
SHOW GLOBAL STATUS LIKE 'Threads_connected';
SHOW GLOBAL STATUS LIKE 'Max_used_connections';

-- 当前库表与索引
SHOW DATABASES;
USE app;
SHOW CREATE TABLE users;
SHOW INDEX FROM users;

索引与慢查询

EXPLAIN SELECT * FROM users WHERE email = 'user@example.com';
  • 为高频过滤、关联、排序字段设计索引,但避免无目的的重复索引。
  • 关注全表扫描、返回行数、临时表和 filesort;索引需与实际查询条件匹配。
  • 开启并定期分析慢查询日志,结合业务峰值和执行计划优化。

备份、复制与恢复

  • 逻辑备份适合小中型数据、跨版本迁移;物理备份适合大库和更快恢复。
  • 备份必须包含恢复演练:能恢复不等于能在目标时间内恢复。
  • 复制主要用于读扩展和高可用;注意复制延迟、GTID/位点、故障切换与应用连接方式。
  • 不在生产库上直接执行未经评估的大范围 DELETEALTER TABLE 或全表更新。

排障入口

数据容量与写入扩展见 分库分表,从订单例子理解分片键、请求路由、跨库事务和迁移。

连接数、慢 SQL、锁等待、磁盘空间、复制延迟和 InnoDB 指标是优先检查项。变更前先记录版本、参数、现象和回滚路径。