group_concat函数导致的主从同步异常
group_concat函数导致的主从同步异常的问题总结
今天在处理一个group_concat函数导致的主从异常的问题,排查过程比较简单,不过第一次遇到这个问题记录一下排查的思路,后面如果再遇到其他的由于参数导致的主从异常就知道如何排查了。
问题现象
收到实例主从异常告警后登录服务器查看发现是由于GROUP_CONCAT()函数导致同步异常,如下截图所示:
问题分析排查
看意思是超过了大小被截断触发的warning,然后被同步抓取到从而出现同步中断。第一想到的是对userid进行GROUP_CONCAT()后写入到tb_create_users_every_day表的时候发生截断,于是查看tb_create_users_every_day的表定义的ids列的大小,发现是longblob列,基本排查这个猜想。
排查了表列截断的问题,根据业务的SQL,先将对应的select抽出来,并统计一下每一个GROUP_CONCAT(userid)的长度,发现最大的为1024,并且有个warning,如下截图所示:
查看一下warning的报错,发现应该是由于超过GROUP_CONCAT()的最大限制导致的截断。
为了验证这个猜想,查询一下targetTime为1415894400000的userid通过GROUP_CONCAT()后最大是多少,于是写了如下简单的SQL进行验证,发现确实超过了1024,如下图所示:
通过分析问题已经很清晰了,明显是GROUP_CONCAT()函数有限制最大为1024导致的截断,于是在服务器中搜索对应的group和concat字段的变量,人品大爆发,一下就把对应的变量揪了出来。
问题解决
找到问题之后就好解决了,直接将主从的group_concat_max_len参数设置为10240,并重启同步线程,如下图所示:
观察slave的状态彻底OK了。
group_concat函数导致的主从同步异常的更多相关文章
- MySQL主从同步异常问题解决Client requested master to start replication from position > file size
MySQL主从同步异常问题解决Client requested master to start replication from position > file size 一.问题描述 MySQ ...
- mysql主从同步异常原因及恢复
mysql主从同步异常原因及恢复 前言 mysql数据库做主从复制,不仅可以为数据库的数据做实时备份,保证数据的完整性,还能做为读写分离,提升数据库的整体性能.但是,mysql主从复制经常会因为某些原 ...
- Mysql主从同步 异常Slave_SQL_Running: No
在刚搭建好的mysql主从节点上对从节点进行操作,导致同步异常:报错如下: 从节点执行: mysql> show slave status\G;************************* ...
- 监控MySQL服务器主从同步异常的脚本,出现异常,报警
监控主从复制的指标有: Slave_IO_Running: Yes Slave_SQL_Running: Yes Seconds_Behind_Master: 0 (从服务器与主服务器延时多少秒) # ...
- outlook同步异常
新装的系统,备份了outlook,还原后发现,outlook还在不停的同步服务端邮件,设置规则,禁止接收今天之前的邮件,但是outloock还是在同步,只是不接收而已,这样导致了莫名其妙的异常错误,o ...
- 运维派 企业面试题1 监控MySQL主从同步是否异常
Linux运维必会的实战编程笔试题(19题) 企业面试题1:(生产实战案例):监控MySQL主从同步是否异常,如果异常,则发送短信或者邮件给管理员.提示:如果没主从同步环境,可以用下面文本放到文件里读 ...
- 监控mysql主从同步状态是否异常
监控mysql主从同步状态是否异常,如果异常,则发生短信或邮寄给管理员 标签:监控mysql主从同步状态是否异常 阶段1:开发一个守护进程脚本每30秒实现检测一次. 阶段2:如果同步出现如下错误号(1 ...
- 从库因为sql错误导致主从同步被中断的问题解决
从库因为sql错误导致主从同步被中断的问题解决:show slave status\G;看lasterror:看延迟多少秒,正常情况下是没有延迟的. 跳过错误的那条sql:SET GLOBAL SQL ...
- 无效GRANT语句导致主从同步断开
最近遇到一个主从同步断开的案例,是由于在执行GRANT语句时,授权对象给错了,也就可以理解为无效的GRANT语句,我们收到slave库同步断开的报警信息,然后去找问题,发现binlog有报错,报错提示 ...
随机推荐
- python定时执行方法
1 time.sleep import time for i in range(5): print(i) time.sleep(10) 2 用shed import time import sche ...
- python-mysql-replication
python处理mysql binlog增量日志 http://python-mysql-replication.readthedocs.io/en/latest/examples.html 同样的项 ...
- linux服务器性能检测工具nmon使用
今天介绍一款linux系统服务器性能检测的工具-nmon及nmon_analyser (生成性能报告的免费工具),亲测可用. 一.介绍 nmon 工具可以帮助在一个屏幕上显示所有重要的性能优化信息,并 ...
- Sencha Test Futures API 探秘
原文链接:http://blog.csdn.net/lovelyelfpop/article/details/52301249 英文原文:<Inside the Sencha Test Futu ...
- STL学习笔记(已序区间算法)
针对已序区间执行的算法,执行前提是源区间必须在某个排序准则下已序. 搜寻元素(Searching) 1.检查某个元素是否存在 bool binary_search(ForwardIterator be ...
- js中的四舍五入函数
刚学到这部分时,感觉特别简单.可最近写个ajax分页时,忽然忘记应该怎么使用哪种函数来计算总的页数...哎,好记星不如烂笔头啊,还是老老实实的写下来吧.随时查看. 1.Math.ceil(x):对x向 ...
- sql自定义函数及C#中调用
1.在C#中调用sql自定义函数 1.1 标量值函数 sql语句调用 select dbo.GetClassIDWithName(1) string strSql = string.Format(& ...
- Linux系统控制文件 /etc/sysctl.conf详解
/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sysctl.conf参数解释: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 ...
- Linux下安装jdk8的方法
一.yum安装 只需要一条命令就可以安装jdk: yum install java--openjdk* -y 执行过这条命令无需配置,直接可以使用. 二.下载tar包安装 下载jdk8 登录网址:ht ...
- spark standlone 伪分布式安装
一,在官网下载对应的版本http://spark.apache.org/downloads.html 二在linux中解压下来的spark包 三:配置环境变量 (1)在/etc/profi ...