mysql怎么保证高可用

Posted hanguocai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql怎么保证高可用相关的知识,希望对你有一定的参考价值。

一:主备延迟

主备切换的场景:可能是一个主动运维的动作。比如软件升级,主库所在的机器按计划下线等,也可能是被动操作,比如主库所在机器掉电

与数据同步延迟有三个:

1.主库执行完一个事务,写入binlog,记为T1

2.之后传给备库,接收完,记为T2

3.备库执行完记为T3

延迟的时间就是T3-T1

二;主备延迟的来源

首先,备库所在机器性能要比主库所在机器性能差

备库压力大。运营后台分析语句等导致

大事务,比如一次性的delete语句太多 ,大表 ddl

优化方法:

1.一主多从。

2.binlog输出到外部。

可靠优先策略:

技术分享图片

 

可用性优先策略 ,binlog_format=mixed

技术分享图片

 

 

可用性优先策略,binlog_format=row

技术分享图片

结论:

使用row格式的binlog,数据不一致容易发现。使用mixed 或者statement格式的binlog,就可能不一致了。

推荐可靠性优先。

异常切换的情况:

技术分享图片

 

以上是关于mysql怎么保证高可用的主要内容,如果未能解决你的问题,请参考以下文章

mysql集群高可用架构

MySQL高可用群集--MMM高可用架构

mysql mha高可用架构的安装

Day888.MySQL是怎么保证主备一致的 -MySQL实战

《Mysql - Mysql 是如何保证高可用的?》

怎么保证RabbitMQ和kafuka集群的高可用性?