tidb 5.2 永久关闭 only_full_group_by 模块方法?

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
centos7 系统

【概述】 场景 + 问题概述
根据开发同事需求需永久关闭 only_full_group_by 模块。
可以参考mysql的操作临时关闭only_full_group_by 模块,但是在tidb中找不到my.cnf,没有办法像mysql那样永久关闭此模块,所以在这里提问,请求大家帮助。

【背景】 做过哪些操作
已经安装mysql的操作,临时关闭了only_full_group_by模块

【业务影响】
部分SQL无法执行

【TiDB 版本】
5.2


若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

1 个赞

SELECT @@sql_mode;
删掉full_group后再set进去

我已经在sql里做了相应的操作了。

已经做的操作
#去除only_full_group_by
set @@GLOBAL.sql_mode=‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION’;
set @@SESSION.sql_mode=‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION’;

#在查询语句前加
set @@SESSION.sql_mode=‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION’;

未做的操作
像mysql要永久生效还要在my.cnf添加配置文件,但是tidb找不到
vim /etc/my.cnf

关闭ONLY_FULL_GROUP_BY

sql-mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

请问,tidb永久关闭 only_full_group_by 的配置文件在哪?还是不需要改配置文件,执行上面的sql就可以永久生效了,重启服务也没事?

全局系统变量会落地到tikv的,重启会生效的

2 个赞

好的,多谢。

这个和Mysql是相同的

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。