MySQL

·3 分钟阅读·829 字
📋 目录

MySQL 运维场景面试题


1. 主从同步延迟

【题目】

生产 MySQL 主从同步延迟常态化 30s~5min,业务读从库频繁数据不一致。请从硬件、SQL、参数、架构四个维度给出优化方案?

【参考答案】

🔧 硬件层:

  • 从库磁盘升级为 SSD,提升 IOPS
  • 优化 IO 调度算法(deadline → noop/kyber

📝 SQL 层:

  • 拆分大事务,避免一步操作百万行
  • 大批量 DML 改为分批提交(每批 1000~5000 行)

⚙️ 参数层:

  • 开启并行复制:slave_parallel_workers = 4~8
  • binlog 格式建议 ROW
  • 优化 relay log 落盘参数:sync_relay_log = 1(可选)
  • 调整 innodb_flush_log_at_trx_commit 权衡性能与安全

🏗️ 架构层:

  • 读写分离:读流量走从库,关键业务读走主库
  • 分库分表:打散单库写入压力
  • 考虑引入 缓存层(Redis)减轻读压力

场景题回答思路 场景题的关键是分维度作答 + 给出可落地的具体参数/命令,而不是只说”优化参数”这种空话。能说出 slave_parallel_workers=4 和 sync_relay_log=1 就是加分项。

【延伸追问】

  1. Seconds_Behind_Master 的局限性是什么?如何补充监控?
  2. 如果从库硬件无法升级,还有哪些软件层面的优化手段?

【易错坑点】

  • ❌ 只提一个维度的优化(至少覆盖 3 个维度)
  • ❌ 忽略大事务对主从延迟的影响(大事务是延迟的常见元凶)
  • ❌ 并行复制不是银弹,需要评估从库 CPU 资源是否充足

关联文档