今天出了个线上bug,先通过其他手段把bug避免了,然后打日志查看具体原因,发现是一个sql查出来的字段内容少了很多,一查询原来是group_concat函数最大长度只有1024,超过长度会被截取。
解决的方式有三个:
- 修改sql查询逻辑,避免使用group_concat
- 修改配置文件
添加或修改group_concat_max_len = 1024000
,然后重启服务。这个方式是永久性的 - 修改变量
use mysql;
SHOW VARIABLES LIKE "group_concat_max_len"; #查询最大值
SET GLOBAL group_concat_max_len=10240000;
SET SESSION group_concat_max_len=10240000;
特别注意:只对当前会话有效