开发者社区 问答 正文

因为group_concat默认值为1024的原因,请教一个问题

group_concat 函数默认长度为1024,但是查询出来的结果查询超过了1024,然后对结果进行解析 报错,百度之后,告诉设置group_concat_max_len变量,我执行了:

set global group_concat_max_len=20000;

提示没有super权限:

you need (at least one of) the SUPER privilege(s) for this operation

客户使用的是阿里云的mysql服务,如果设置session级别的设置并不能解决问题,所以想问一下有没有知道怎么获取阿里云MySQLsuper权限的大佬

遇到了同样的问题,在CSDN看到了,希望阿里云团队能够给出正确、标准的答案~请查看

展开
收起
刘刚_ 2020-05-23 21:06:34 942 分享 版权
阿里云 AI 助理回答

在阿里云RDS MySQL实例中,出于安全考虑,用户默认不被授予SUPER权限。因此,您不能直接设置全局系统变量如group_concat_max_len。但是,您可以针对当前会话(session)级别设置该变量,这通常对于大多数场景已经足够使用。

要在会话级别设置group_concat_max_len,您可以执行以下命令:

SET SESSION group_concat_max_len = 20000;

这将为当前会话设置group_concat_max_len的值为20000,不会影响其他会话或全局配置,也不需要SUPER权限。

如果您的查询确实需要在全局范围内修改此值,并且您使用的是阿里云RDS MySQL,那么您可能需要通过联系阿里云客服或提交工单的方式,请求他们帮助调整这个参数。这是因为修改全局系统变量通常涉及到数据库服务的运维层面,需要云服务提供商的操作。

请记得,在提出此类请求时,详细说明您的需求以及为什么需要这样的调整,以便阿里云团队能够更好地理解并协助您。同时,评估是否真的有必要在全球范围内增大该值,因为这可能会影响服务器的资源使用情况。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答