切换目的是高可用
1 如何进行身份切换
停止备库同步
配置主库复制备库
可靠性优先策略
数据无丢失
有几秒两个数据库均不可写
若一开始未检查second_behind_master,不可用时间无法控制
可用性优先策略
系统没有不可写的时间
若切换时还有未重放的relaylog
造成数据不一致错误
2 数据库切换了,业务怎么办?
业务切换到新地址
使用内部dns,通过域名连接
vip漂移
使用代理
3 如何实现自动主从切换
keepalived
既可以切换业务,也可以切换数据库
在对ip进行漂移前,顺便执行脚本
MHA(master high availability)
从宕机崩溃的master抢救未传送的binlog
等待slave执行中继日志,追赶master
在slave执行从master抢救出的binlog
提升一个slave为新的master
使用其他的slave连接新的master进行复制
4 MHA实战
先安装manager和node
设置免密登录
自检是否可以免密登录
检查主备复制
启动mha
MHA与dble联动
联动脚本
MHA通知dble,让dble切换负载
5 高可用了,集群为什么还会挂
元数据放在dble中,所以要是多个dble,也不行
借用zookeeper,存储数据库、表分片等信息,解决了多个dble的问题
粗线是写,细线是读