MST

星途 面试题库

面试题:MySQL高级难度:复杂场景下备份与容灾结合

在一个高并发读写的MySQL数据库环境中,需要设计一套备份与容灾方案。要求备份过程对业务影响最小化,容灾方案能够在短时间内恢复业务。请详细描述你的设计思路,包括涉及到的技术选型、备份策略、容灾切换机制等。
19.4万 热度难度
数据库MySQL

知识考点

AI 面试

面试题答案

一键面试

设计思路

  1. 技术选型
    • 主从复制:利用MySQL主从复制技术,主库负责处理业务读写,从库用于备份和容灾。从库可以配置多个,分担备份等任务,同时也提高了容灾能力。
    • MHA(Master High Availability):用于监控主从复制架构中的主库状态,当主库出现故障时,能自动将一个从库提升为主库,实现快速容灾切换。
    • XtraBackup:一款开源的热备份工具,支持在线备份,对业务影响较小。它可以在数据库运行时进行备份,不会锁表,保证业务的连续性。
  2. 备份策略
    • 全量备份:定期(如每周日凌晨业务低谷期)使用XtraBackup对从库进行全量备份。这是因为全量备份可以获取数据库在某一时刻的完整状态,方便恢复。
    • 增量备份:在全量备份的基础上,每天凌晨(业务低谷期)使用XtraBackup进行增量备份。增量备份只备份自上次全量或增量备份以来发生变化的数据页,减少备份时间和存储空间。
    • 备份存储:将备份文件存储到独立的存储系统(如NAS或云存储),保证备份数据的安全性和独立性,防止数据库服务器故障导致备份数据丢失。同时,对备份文件进行加密和压缩处理,提高数据安全性和存储空间利用率。
  3. 容灾切换机制
    • 监控:通过MHA实时监控主库的状态,包括主库的心跳检测、复制延迟等。MHA通过定期向主库发送心跳包来检测主库是否存活,如果一定时间内未收到心跳响应,则判定主库故障。
    • 切换:当主库发生故障时,MHA会自动从多个从库中选择一个合适的从库(通常选择复制延迟最小的从库),将其提升为主库。同时,MHA会通知应用程序新主库的地址,应用程序可以根据新地址重新连接数据库,从而快速恢复业务。
    • 数据同步:在新主库提升后,MHA会自动将其他从库重新指向新主库,并进行数据同步,确保整个集群的数据一致性。
  4. 业务影响最小化措施
    • 备份时间选择:全量备份和增量备份都选择在业务低谷期进行,减少对正常业务的影响。
    • 热备份工具:使用XtraBackup这种热备份工具,在备份过程中不会对业务表加锁,保证业务的读写操作正常进行。
    • 多从库架构:通过配置多个从库,将备份任务分摊到不同从库上,避免单个从库因备份任务过重影响主从复制延迟,进而影响业务。