从品牌网站建设到网络营销策划,从策略到执行的一站式服务
确认复制延迟的方法
越秀ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!
执行
MySQL>show slave status\G
如果"seconds_behind_master"不为"0",需要对其关注,并调查其产生的根本原因
首先需要确认滞后的原因会来自两方面,来自IO_Thread (比如网络连接速度慢,磁盘慢)或 SQL_Thread(施放中继日志里面的SQL过慢)
执行
mysql>show master status\G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
确认一下两个线程是否运行,如果没有正常运行,确认一下错误日志里面的内容,然后使其运行。
接下来需要确认,是否
Master_log_file
Relay_Master_Log_File
Read_Master_Log_Pos
Exec_Master_Log_Pos
值相等,但是Seconds_Behind_Master从未减少。
然后在主服务上执行SHOW MASTER STATUS,确认当前主服务的日志文件和位置,Exec_Master_Log_Pos 是否落后 Read_Master_Log_Pos。
解决方法
如果从服务有多台的情况下,检查:
全部的主机是否使用相同的硬件
是否使用同一版本的MySQL(从服务器的版本应等于或高于主服务器版本)
检查路由、网络防火墙
通常是网络原因或者饱和原因
使用大容量的binlog
检查网络和磁盘的速度
1 、检查在从服务器上执行过长的事务
2 、检查在从服务器上活动集中的IO操作
停止IO线程,确认问题是否解决
改变innodb_flush_log_at_trx_commit参数,确认是否解决,尝试改为0,确认一下结果,最终可以尝试改为2。
减少max_relay_log_size值 避免读取负载过大,例如8M mysql> set global max_relay_log_size = 8*1024*1024;
检查从服务器没有使用 log_slave_updates = 1
3 、考虑使用 Multi Threaded Slave (MTS)
4 、确认是否过多的表没有使用主键
如果日志采用row或MIXED格式,如果表没有主键,会引起延迟。
这是因为当在主服务器上执行事务时,可以使用任何可用的键或直接的表扫描,
当在从服务器SQL上应用行事件时不使用这些。
从主服务器的二进制日志中的行事件被逐行地应用到从服务器的匹配行映像时,
如果使用主键惟一地标识每一行时,就可以快速地将更改应用到从服务器的适当的行映像。
然而,当没有定义主键时,对于主服务器上的每一个受影响的行,整个行映像都必须逐行进行比较。
5 、在MySQL 5.7中如果持续的统计特性会对MySQL复制产生负面影响就会禁用它并检查是否有任何改进。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图