[MYSQL]主备

主备一致

master和slave有一个专门的长连接处理数据同步

具体步骤

1.slave设置change master,设置主库的连接信息 用户名密码 日志开始同步位置和偏移量

2.slave上设置start slave,启动两个线程sql_thread和io_thread(负责于主库建立连接)

3.master验证完用户名 密码,就把slave传来的日志位置和偏移量 在本地读取后送给slave

4.slave把binlog日志接受 转化成中间日志(relay log)存在本地

5.sql_thread解析日志,执行命令

 

备库延迟

正常的慢

master库的事务文件,同步到slave库,slave库再解析执行

非正常的慢

1.非对称部署,slave机器的性能差(比如更多的slave库在slave机器节点上)

2.大量读服务都是通过slave库,slave库的读压力大(一主多从会好些)

3.主库执行一个大事务(N分钟)

4.备库的并行复制能力差(只支持单线程复制)

 

主备切换

可靠性优先

1.识别slave库的sbm是否小于5秒,不行的化不停的重试

2.把master切成readonly

3.等待slave的sbm=0

4.把slave切成可读可写(readonly=false)

5.流量切到slave库

《SBM=slave behind msater,上面步骤可以看出来 会出现短暂的无法写入》

可用性优先

不用等待sbm=0直接操作,数据会出现不一致

 

一主多从

A和A‘互为主备,A和BCD就是主备 

切换过程

A‘变成新主库,BCD指向A’

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值