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