mysql基础~基础知识问答

发布时间 2023-07-20 14:21:23作者: 开心的蛋黄派

一 orc系列

1  orc切换模式常用的是主动触发高可用切换(例行维护),被动高可用切换(mysql负载很高,mysql主库down掉) 

2 orc在以下情况不会发生切换

  1. 从库发生故障,主从复制异常,从库挂掉,从库出现延时
  2. 主库hang住,主库出现too manay connetions(因为orc建立的长连接,即便连接打满,也不会出现异常),orc到主库网络不通

3 发现从库利用的是检测dump线程的地址

4 切换流程

  1. 检测原主,出现故障( orc访问master不通(一次确认),不能访问slave或者所有slave-io_thread异常(二次确认))
  2. 选择候选主库(必须是直连 从库,规则允许当主,延时小于阈值)
  3. 设置原主只读
  4. 候选主库等待延时日志应用完成
  5. 打开候选主库的读写
  6. 将原主变成新主的从库
  7. 调用hook脚本,完成其他一系列工作,比如vip绑定等

5  orc一些问题

       1. 实际生产没有遇到过切换失败的场景

       2. 即便开了半同步复制,orc切换依然可能丢数据,因为orc判断最新binlog位点的方式是 ExecBinlogCoordinate,通过判断最新执行的binlog位点信息,有可能有这一种情况,io_thread出现网络问题,导致接收到的binlog并不完整,最终导致出现数据差异化

 

二 灾备架构系列

 

三