主从同步原理见附件图

replication,基于binary log,以事件方式,记录主库变更,实现主库变更在从库的回放。

  1. 主库操作包括DML,DDI,DCL

  2. 从库获得授权后,从库的io线程链接到主库的binlogdump线程,从主库读取二进制日志,记录到从库的relay log中。

  3. 从库的sql线程执行relay log中的sql语句,一一执行到从库中。

(同步到从库可能是串行完成的)

主从同步条件

  1. 开启二进制日志

  2. 主从库设置全局唯一server id

  3. 配置同步账号

  4. 基准数据及同步点

2.常见的主从延迟原因

2.1 DDL语句造成延迟

以修改表结构为例,alter table会对加LOCK_open全局锁。进行sql查询时,也会首先加LOCK_open锁,已保证表结构不会被更改。如果alter table持有锁时间过长,会导致所有Query线程都处于Opening table(等待获取LOCK_open锁)状态。

解决办法:
选择业务流量较低的时候进行
大于200M(数据+索引)的表考虑使用OSC工具

2.2 主库io波动造成的延迟

DBA主库排查日志、清理日志造成io波动,主从延迟增大

2.3 操作数据集较大的sql

优化索引的使用
更细粒度的分批操作

3. OSC工具使用

OSC(Online Schema Changing),在线表结构变更,DDL期间不影响表写入和查询,同时也消除因常规DDL操作造成的同步延迟,做到schema变更对业务透明,实现无缝切换。

OSC需要一台不提供服务从库辅助完成,通过从库进行表数据快照,然后导入主库新表作为基准数据,其次从库通过trigger记录增量数据并完成数据回放,最后通过rename操作实现原表与新表改名进而完成整个过程

转载于:https://blog.51cto.com/12659710/1903215

mysql 主从同步机制相关推荐

  1. mysql主从同步机制

    mysql主从同步机制: master服务器将数据的改变记录二进制binlog日志,当master上的数据发生改变时,则将其改变写入二进制日志中: slave服务器会在一定时间间隔内对master二进 ...

  2. MySQL主从同步机制与同步延时问题追查过程

    作为一名DBA,在工作中会经常遇到一些MySQL主从同步延迟的问题,这些同步慢的问题,其实原因非常多,可能是因为主从的网络问题导致,可能是因为网络带宽问题导致,可能是因为大事务导致,也可能是因为单线程 ...

  3. MySQL主从同步机制及同步中的问题处理

    原文:https://www.cnblogs.com/doseoer/p/4007714.html 一.主从服务器分别作以下操作: 1.1.版本一致 1.2.初始化表,并在后台启动mysql 1.3. ...

  4. 使用MySQL Proxy解决MySQL主从同步延迟

    MySQL的主从同步机制非常方便的解决了高并发读的应用需求,给Web方 面开发带来了极大的便利.但这种方式有个比较大的缺陷在于MySQL的同步机制是依赖Slave主动向Master发请求来获取数据的, ...

  5. 项目性能优化(MySQL读写分离、MySQL主从同步、Django实现MySQL读写分离)

    当项目中数据库表越来越多,数据量也逐渐增多时,需要做数据库的安全和性能的优化.对于数据库的优化,可以选择使用MySQL读写分离实现. 1.MySQL主从同步 1.主从同步机制 1.1.主从同步介绍和优 ...

  6. MySQL主从同步问题集

    http://blog.chinaunix.net/uid-8786588-id-3771613.html 在InnoDB引擎下发现,Mysql的主从热备存在数据不一致的问题,一些数据没有成功同步到备 ...

  7. mysql proxy 延迟严重_使用MySQL Proxy解决MySQL主从同步延迟

    MySQL的主从同步机制非常方便的解决了高并发读的应用需求,给Web方面开发带来了极大的便利.但这种方式有个比较大的缺陷在于MySQL的同步机制是依赖Slave主动向Master发请求来获取数据的,而 ...

  8. mysql主从同步默认延迟_减少mysql主从数据同步延迟问题的详解

    基于局域网的master/slave机制在通常情况下已经可以满足'实时'备份的要求了.如果延迟比较大,就先确认以下几个因素: 1. 网络延迟 2. master负载 3. slave负载 一般的做法是 ...

  9. mysql 主从同步不一致_涨知识!MySQL 主从同步原理原来是这样的

    什么是 MySQL 主从同步 当 master(主)库的数据发生变化的时候,变化会实时的同步到slave(从)库. 主从同步有什么好处 水平扩展数据库的负载能力 容错,高可用.Failover/Hig ...

  10. mysql主从同步配置超详细_MySQL主从同步配置

    一. 理论部分 MySQL主从同步 主从同步使得数据可以从一个数据库服务器复制到其他的服务器上.在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave). 因为复制 ...

最新文章

  1. 数学——Euler方法求解微分方程详解(python3)
  2. springmvc的执行流程_springmvc执行流程
  3. ZigBee与智慧家居-ZigBee方案
  4. nginx stream模块
  5. java observable 使用_如何使用rxjava2取消Observable.timer?
  6. 精通PHP的十大要点
  7. 图像处理-与,或等运算
  8. ps4html5播放器,PS4终获得全新媒体播放器 允许从PC或U盘串流媒体
  9. 电脑计算机丢失msvcp140.dll,电脑缺少msvcp140.dll怎么办
  10. JustinMind原型制作工具
  11. 第三十四篇-Palette(调色板)的使用
  12. Linux驱动开发学习笔记【8】:Linux中断系统
  13. poi实现单元格行合并
  14. failed to connect to ‘192.168.31.157:5555‘: Connection refused
  15. 工作 3 年后的一些思考
  16. SpringBoot Jar包构建源码分析
  17. 微信小程序资料收集(一)
  18. 2021-10-26第八章思考题
  19. 不用乘号除号,算乘法除法
  20. FLOW.SCIENCE.FLOW-3D.V11.0.4.WIN64

热门文章

  1. Iplimage设置感兴趣区域(ROI)
  2. github 建立博客
  3. Unity实现导航到鼠标点击位置并显示路线
  4. 前端实践(2)——网页嵌入加载地图
  5. php做页面编辑器,最牛在线编辑器ueditor在thinkphp框架中的使用方法
  6. 微服务与虚拟化技术博客总结
  7. Linux关闭占用端口的进程
  8. ios上传闪退 php,iOS应用上架后出现闪退原因浅析
  9. mysql 索引重复 更新_MySQL——ON DUPLICATE KEY UPDATE添加索引值实现重复插入变更update...
  10. linux如何修改telnet密码,如何修改用户SSH\telnet登陆linux时候显示的欢迎信息