主从同步原理见附件图

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. C++ Char int string关系
  2. 移动端https抓包那些事--进阶篇
  3. Session,Cookie,jsessionid,Url重写
  4. ASP.NET Core如何在ActionFilterAttribute里做依赖注入
  5. 前端学习(2359):如何注册事件
  6. Centos7 解决Docker拉取镜像慢的问题
  7. 2013元旦成都九寨沟攻略
  8. Android SQLite用sql语句进行增删改查
  9. Dell笔记本周期性闪屏故障
  10. 科隆国际游戏展:戴尔与ALIENWARE展示创新电竞产品
  11. 幽灵蛛(pholcus)(三)--goquery学习资料
  12. VUE 项目更新部署时,浏览器页面缓存问题
  13. Typora+PicGo+Gitee
  14. 戴尔笔记本把计算机弄到桌面,戴尔笔记本电脑可不可以把程序放在桌面上-戴尔笔记本电脑怎么样...
  15. python爬虫爬取京东_Python爬虫学习 爬取京东商品
  16. Python基于YOLOv5的交通标志识别系统[源码&技术文档&部署视频&数据集]
  17. 文学院计算机报名是access吗,ACCESS综合练习范文
  18. 2021年诺贝尔物理学奖——平衡混沌与秩序的复杂
  19. 一个专业的地图制作网站,怎么自己制作地图?
  20. 这篇博文终于讲清了 全连接、全尺寸卷积、1*1卷积的关系

热门文章

  1. 智能优化算法:蝴蝶优化算法-附代码
  2. 高斯滤波程序编写 opencv C++ CSU
  3. 【Tensorflow2】语义分割实战1---斑马线识别
  4. 【SQL】实验六 自习室管理数据库系统的设计
  5. 错误使用 xlim (line 31) 范围必须为包含递增的日期时间值的 2 元素向量
  6. 使用序列标注方法进行关系抽取的相关论文推荐
  7. Python基础语法-05-装饰器
  8. oracle监听启动接着关闭,Oracle监听启动后自动关闭
  9. 初学者如何学习NLP?这里有一些最棒的项目推荐
  10. 百度App网络深度优化系列《一》DNS优化