mysql 主从同步机制
主从同步原理见附件图
replication,基于binary log,以事件方式,记录主库变更,实现主库变更在从库的回放。
主库操作包括DML,DDI,DCL
从库获得授权后,从库的io线程链接到主库的binlogdump线程,从主库读取二进制日志,记录到从库的relay log中。
从库的sql线程执行relay log中的sql语句,一一执行到从库中。
(同步到从库可能是串行完成的)
主从同步条件
开启二进制日志
主从库设置全局唯一server id
配置同步账号
基准数据及同步点
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 主从同步机制相关推荐
- mysql主从同步机制
mysql主从同步机制: master服务器将数据的改变记录二进制binlog日志,当master上的数据发生改变时,则将其改变写入二进制日志中: slave服务器会在一定时间间隔内对master二进 ...
- MySQL主从同步机制与同步延时问题追查过程
作为一名DBA,在工作中会经常遇到一些MySQL主从同步延迟的问题,这些同步慢的问题,其实原因非常多,可能是因为主从的网络问题导致,可能是因为网络带宽问题导致,可能是因为大事务导致,也可能是因为单线程 ...
- MySQL主从同步机制及同步中的问题处理
原文:https://www.cnblogs.com/doseoer/p/4007714.html 一.主从服务器分别作以下操作: 1.1.版本一致 1.2.初始化表,并在后台启动mysql 1.3. ...
- 使用MySQL Proxy解决MySQL主从同步延迟
MySQL的主从同步机制非常方便的解决了高并发读的应用需求,给Web方 面开发带来了极大的便利.但这种方式有个比较大的缺陷在于MySQL的同步机制是依赖Slave主动向Master发请求来获取数据的, ...
- 项目性能优化(MySQL读写分离、MySQL主从同步、Django实现MySQL读写分离)
当项目中数据库表越来越多,数据量也逐渐增多时,需要做数据库的安全和性能的优化.对于数据库的优化,可以选择使用MySQL读写分离实现. 1.MySQL主从同步 1.主从同步机制 1.1.主从同步介绍和优 ...
- MySQL主从同步问题集
http://blog.chinaunix.net/uid-8786588-id-3771613.html 在InnoDB引擎下发现,Mysql的主从热备存在数据不一致的问题,一些数据没有成功同步到备 ...
- mysql proxy 延迟严重_使用MySQL Proxy解决MySQL主从同步延迟
MySQL的主从同步机制非常方便的解决了高并发读的应用需求,给Web方面开发带来了极大的便利.但这种方式有个比较大的缺陷在于MySQL的同步机制是依赖Slave主动向Master发请求来获取数据的,而 ...
- mysql主从同步默认延迟_减少mysql主从数据同步延迟问题的详解
基于局域网的master/slave机制在通常情况下已经可以满足'实时'备份的要求了.如果延迟比较大,就先确认以下几个因素: 1. 网络延迟 2. master负载 3. slave负载 一般的做法是 ...
- mysql 主从同步不一致_涨知识!MySQL 主从同步原理原来是这样的
什么是 MySQL 主从同步 当 master(主)库的数据发生变化的时候,变化会实时的同步到slave(从)库. 主从同步有什么好处 水平扩展数据库的负载能力 容错,高可用.Failover/Hig ...
- mysql主从同步配置超详细_MySQL主从同步配置
一. 理论部分 MySQL主从同步 主从同步使得数据可以从一个数据库服务器复制到其他的服务器上.在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave). 因为复制 ...
最新文章
- 数学——Euler方法求解微分方程详解(python3)
- springmvc的执行流程_springmvc执行流程
- ZigBee与智慧家居-ZigBee方案
- nginx stream模块
- java observable 使用_如何使用rxjava2取消Observable.timer?
- 精通PHP的十大要点
- 图像处理-与,或等运算
- ps4html5播放器,PS4终获得全新媒体播放器 允许从PC或U盘串流媒体
- 电脑计算机丢失msvcp140.dll,电脑缺少msvcp140.dll怎么办
- JustinMind原型制作工具
- 第三十四篇-Palette(调色板)的使用
- Linux驱动开发学习笔记【8】:Linux中断系统
- poi实现单元格行合并
- failed to connect to ‘192.168.31.157:5555‘: Connection refused
- 工作 3 年后的一些思考
- SpringBoot Jar包构建源码分析
- 微信小程序资料收集(一)
- 2021-10-26第八章思考题
- 不用乘号除号,算乘法除法
- FLOW.SCIENCE.FLOW-3D.V11.0.4.WIN64
热门文章
- Iplimage设置感兴趣区域(ROI)
- github 建立博客
- Unity实现导航到鼠标点击位置并显示路线
- 前端实践(2)——网页嵌入加载地图
- php做页面编辑器,最牛在线编辑器ueditor在thinkphp框架中的使用方法
- 微服务与虚拟化技术博客总结
- Linux关闭占用端口的进程
- ios上传闪退 php,iOS应用上架后出现闪退原因浅析
- mysql 索引重复 更新_MySQL——ON DUPLICATE KEY UPDATE添加索引值实现重复插入变更update...
- linux如何修改telnet密码,如何修改用户SSH\telnet登陆linux时候显示的欢迎信息