MySQL – 复制原理

微信扫一扫,分享到朋友圈

MySQL – 复制原理
MySQL的复制是一种高性能高可用的解决方案,在主从之间进行复制、重放数据。

复制(replication)首先会把
服务器的 数据更改
写入 binlog
二进制文件中,
服务器的 I/O线程
binlog
拉取
数据, 存入
本地的 relay log
中继日志中,然后由 SQL线程
读取并 重放
到从服务器中。

由于整个复制的过程是 异步实时
的,所以可能会存在在主从同步的 延迟
现象,这个延迟可能是一秒、一分、一小时,甚至一天,数据量越大,主服务器的 压力
就越大。

MySQL支持的复制方式包含有:row(行)、statement(语句)、mixed(行+语句)。

首先是基于
的复制方式,这种方式只会在 binlog
文件中记录 最终
的修改的 记录
的结果,在一些 复杂
查询下却返回 较少
数据情况下比较适用,但 兼容性
也不好,一旦修改列的话,就会出现问题,并且随着行数的增多, binlog
文件也会 膨胀

接着是基于 语句
的复制方式,这种方式会在 binlog
文件中记录操作的 SQL语句
,相比基于行的方式来说,SQL语句更 容易理解
且遇到问题的时候也 较好定位
,在占用的 体积
上来说也
了许多。当然,基于 语句
的复制方式也存在着数据操作范围不可控的 风险
,同样,一旦修改列的话,也可能会出现问题。

最后是 mixed
这种方式, 结合
了基于
的复制方式和基于 语句
的复制方式,取二者的优点。

微信扫一扫,分享到朋友圈

MySQL – 复制原理

模仿koajs的middware设计思想实现异步任务链式处理

上一篇

超画质巨幕机皇 一图看懂小米电视大师至尊版:49999元

下一篇

你也可能喜欢

MySQL – 复制原理

长按储存图像,分享给朋友