博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL主从延时问题小计&个人总结
阅读量:6400 次
发布时间:2019-06-23

本文共 860 字,大约阅读时间需要 2 分钟。

最近碰到几次主从延时的问题,也有同行在抱怨这个,稍微整理一下
-------------------------------------------------------------------------------------------------正文---------------------------------------------------------------------------------------------------------------
出现问题的两个场景:
场景1.主库进行alter操作,花费大约10min,从库复现这个alter的时候,也花费了约10min的时间,期间延时不断在增加;
场景2.主库上对一张MyISAM的表有大量的增删改操作,从库的业务语句在操作这张表经常会遇到表锁,导致从库延时;
场景问题分析:
场景1:其实这个场景很简单,这种需要花费很多时间的alter语句,在主库花费这么久,在从库复现必然也是要花费很多时间的,自然会阻塞之后的同步;
场景2:
首先要确认MyISAM的特性,MyISAM的表是表级别的锁,读写互斥
当同步的SQL线程在增删改数据的时候,如果有select语句在操作这个表,是会产生表级锁,阻塞同步的SQL线程,
简单模拟以下表级锁阻塞从库SQL线程的情况
MyISAM的表遇到这种情况其实和情景1是一种类型的,那就是主库上的操作在从库复现的时候很慢/被阻塞,出现问题的地方都是复现的SQL本身
这种类型的问题,基本只能把这些“问题SQL”放在空闲时段去操作属于DBA的操作规范一类了,
如果是正常时间段出现了这种情况,可以考虑单独分离某一台延时的从库,屏蔽业务请求,等延时消除以后,再添加回去,再替换另外有延时的从库,依次去追主库了;
主从延时还存在一种类型,就是从库的同步卡在写binlog这一部分,典型的表现就是从库的系统IO等待很高这种情况,视业务类型去修改事务组和日志刷新策略的值,或者更换存储,提高硬件能力~

转载地址:http://bvfea.baihongyu.com/

你可能感兴趣的文章
hibernate validator自定义校验注解以及基于服务(服务组)的校验
查看>>
Leetcode_num2_Maximum Depth of Binary Tree
查看>>
Android笔记二十四.Android基于回调的事件处理机制
查看>>
jquery checkbox勾选/取消勾选只能操作一次的诡异问题
查看>>
友盟统计小白教程:创建应用,申请appkey
查看>>
Multi-Tenancy模式,基础服务大规模扩张的时候,是应该推进了。
查看>>
var result = eval('(' + data + ')');的学习
查看>>
【sqli-labs】Less7
查看>>
文件操作之循环
查看>>
【Java学习笔记之二十】final关键字在Java继承中的用法小结
查看>>
Apache-kylin-2.0.0-bin-hbase1x.tar.gz的下载与安装(图文详解)
查看>>
String literal is not properly closed by a double-quote eclipse
查看>>
第三百四十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—cookie禁用、自动限速、自定义spider的settings,对抗反爬机制...
查看>>
ARM 编程平台+coresight
查看>>
[解读REST] 1.REST的起源
查看>>
Android零基础入门第39节:ListActivity和自定义列表项
查看>>
【mysql+RBAC】RBAC权限处理(转载:http://www.cnblogs.com/xiaoxi/p/5889486.html 平凡希)...
查看>>
LeetCode - 185. Department Top Three Salaries
查看>>
Java习题10.25
查看>>
《Gradle权威指南》--Android Gradle多渠道构建
查看>>