GreatSQL 异步复制及搭建
GreatSQL 异步复制及搭建 一、简介 复制就是将一个数据库数据复制到一个或多个数据库上,复制的过程是异步的,其工作原理是通过binlog(二进制日志)记录事务变更然后传送到从库并重放事务,保持数据一致 二、复制过程 1-1 复制过程图 2.1 binlog日志 GreatSQL 复制是基于 binlog 日志来实现复制的 2.1.1 二进制日志输出格式比较 二进制日志格式 记录内容 主从同步使用场景 大小 性能 statement 基于SQL 如果使用了一些不确定性的函数和自定义函数,函数返回的数据在主从库上不一致。 比如 now(),last_insert_id()等。 较小 最好 row 基于数据行 默认使用基于row 较大 最差 mixed 混合格式 默认使用statement。 当statement无法正确复制时,采用rows 居中 2.2 复制过程 主库把数据更新事件写入二进制日志。 从库的IO线程向主库请求二进制日志事件。 主库的binlog dump线程向从库IO线程发送二进制日志事件。 从库的IO线程将二进制日志事件写入中继日志。 从库的SQL线程应用中继日志中...