前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql8.0+版本在使用group by 出现的问题

mysql8.0+版本在使用group by 出现的问题

作者头像
河岸飞流
发布2024-05-25 09:07:13
2710
发布2024-05-25 09:07:13
举报
文章被收录于专栏:开发杂记
起因:

由于想使用MySQL8中的函数,手动将项目中的数据库从5.7升级到了8.0.20 社区版本,但是升级完之后部分查询报错了,错误信息如下

代码语言:javascript
复制
	which is not functionally dependent on columns in GROUP BY clause; this is incompatible withsql_mode=only_full_group_by

去搜了一下,推荐的几篇都说是需要修改配置文件,按照文章提示的操作了,结果重启就报错,仔细比对了才发现文章里的配置项加了单引号,而且还有多余的空格,简直是害人。这里记录一下,希望能帮到刷到这篇文章的你。

解决:

在客户端或者服务器连上MySQL后输入SELECT @@sql_mode;,得到结果集如下:

代码语言:javascript
复制
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

这里我们去掉ONLY_FULL_GROUP_BY,然后去修改配置文件my.cnf,在[mysqld]下添加一行

代码语言:javascript
复制
sql_mode= STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

重启MySQL服务器,这里我是直接通过命令方式,或者添加了service可以通过service 重启

代码语言:javascript
复制
 #关闭命令
 /home/mysql8/bin/mysqladmin -uroot -p shutdown
 #启动命令
 /data/software/mysql8/bin/mysqld_safe --defaults-file=/data/software/mysql8/my.cnf &
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-05-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 起因:
  • 解决:
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档