面试题答案
一键面试在MySQL一主库多备库架构中,实现故障转移的常见方式有:
- 手动故障转移:DBA手动挑选一个备库,将其提升为主库,并重新配置其他备库指向新主库。
- 使用高可用工具:如MHA(Master High Availability)、Orchestrator等自动完成故障检测和转移。
以MHA为例,具体步骤如下:
- 故障检测:MHA Manager节点通过心跳机制持续监测主库状态,当一定时间内无法获取主库心跳响应时,判定主库故障。
- 选主:MHA Manager会根据预先设定的规则从多个备库中挑选一个合适的备库作为新主库,通常优先选择复制延迟最小的备库。
- 提升新主库:MHA Manager通过SSH连接到选中的备库,执行一系列命令将其提升为主库,例如执行
STOP SLAVE
命令停止复制,然后使用RESET MASTER
命令重置主库状态。 - 重配置其他备库:MHA Manager将其他备库重新指向新主库,在其他备库上执行
CHANGE MASTER TO
命令,修改主库连接信息为新主库地址和日志位置等。 - 应用程序切换:通知应用程序更新数据库连接信息,将数据读写请求切换到新主库。