mysql 修改group_concat的限制(row 20000 was cut by group_concat())
使用group_concat时,如果行数太多,可能会报错:row 20000 was cut by group_concat()
解决方法是修改mysql中的group_concat_max_len,此值大于你要分组的数量即可
1.查看当前mysql group_concat_max_len
mysql> show variables like '%group_concat%'; +----------------------+---------+ | Variable_name | Value | +----------------------+---------+ | group_concat_max_len | 200 | +----------------------+---------+ 1 row in set (0.00 sec)
2.修改group_concat_max_len
a)如果不方便重启mysql,可以在mysql状态通过命令设置,如:
SET GLOBAL group_concat_max_len=2000000; SET SESSION group_concat_max_len=2000000;
注:此种方式在mysql重启后会读取配置文件重新设置,会导致设置失效,所以建议依旧要修改配置文件
b)修改配置文件,mysql 5.7版本的配置文件为:/etc/mysql/mysql.conf.d/mysqld.cnf
在[mysqld]下新增配置:group_concat_max_len = 2000000
重启,通过方式1查看即可。