本文目录一览:
- 1、如何检查MySQL数据库的主从延时?
- 2、解决MySQL从库延迟问题的几种方法
- 3、mysql分区数对主从同步延迟的影响
在之前的博文里面写过如何通过Zabbix监控mysql主从同步是否OK,mysql从库是否有延时 (Seconds_Behind_Master)主库,当mysql主从有异常时通过Email或者SMS通知DBA和系统人员 。
之后再用mysql show slave status\G 查看:Slave_IO_Running: Yes Slave_SQL_Running: Yes ok,现在主从同步状态正常了 。。
数据库分区(database partitioning),这个我不懂 。通过一个id或版本号(global-transaction-id or version),每次写操作时更新这个id,读的时候比较主从库中的这个id来判断主从是否同步 , 从而决定去读哪个库 。
这就导致了延时 。有朋友会问:“主库上那个相同的DDL也需要执行10分,为什 么slave会延时?” , 答案是master可以并发,Slave_SQL_Running线程却不可以 。MySQL数据库主从同步延迟是怎么产生的 。
解决MySQL从库延迟问题的几种方法最简单的减少slave同步延时的方案就是在架构上做优化 , 尽量让主库的DDL快速执行 。
可以通过监控show slave status\G命令输出的Seconds_Behind_Master参数的值来判断,是否有发生主从延时 。
首先要在本地建立两个mysql服务(参考这里),指定不同的端口 。我这里一个主(3306),一个从(3307) 。
pos一直保持不变,并且behind一直在增加,备库执行:SQL thread State列状态如下:代表 线程已经从中继日志读取一个事件,可以对事件进行处理了 。查看binlog:查看表结构发现没有主键和索引 。
使用sar来检查操作系统是否存在IO问题 sar-u210—即每隔2秒检察一次 , 共执行20次 。结果示例:注:在redhat下,%system就是所谓的%wio 。
mysql分区数对主从同步延迟的影响1、看你的业务能承受的范围吧,实时性同步要求很高的话,一般来说最好在内一个局域网 , 百M和或千M交换机,延迟在1ms左右 。掉包率也是一个要考虑的范围 。这个很难通过设置提高的,只能通过优化网络接入质量提升 。
2、最简单的减少slave同步延时的方案就是在架构上做优化,尽量让主库的DDL快速执行 。
3、采用同步复制模式( 最简单的,就是对于需要保持一致性的数据,都去读主库 。但是对于大数据量的应用,这种方法显然不可行 。
【mysql主从同步不及时的简单介绍】4、通常少量延迟不是问题 。如果要做到完全同步 , 对主数据库性能势必有影响 。只要保证从数据库是主数据库在某个时间点的快照就成了 。
推荐阅读
- mysql监控sql语句 mysql2018监控脚本
- mac mysql怎么启动 os怎么启动mysql
- mysql数据库是一种什么结构的软件 mysql是哪种数据库架构
- mysql 字符串变数字 mysql数值为字符
- mysql数据库怎么一键运行 mysql数据库怎么一键运行