Mysql报错“this is incompatible with sql_mode=only_full_group_by”
Mysql报错“this is incompatible with sql_mode=only_full_group_by”
由于本站使用的是msyql8.x版本的mysql数据库,版本较高,发现网站的“月份存档”的数据不展示了,经过排查发现是接口未能如期返回的数据,而是出现了报错“this is incompatible with sql_mode=only_full_group_by”,显然是自己的sql语句里面有group_by
,出现了兼容性问题。
我先进Mysql里面执行select @@GLOBAL.sql_mode;
来查询下
我们可以这样解决这个问题
方法一:命令解决
执行命令:
set @@GLOBAL.sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION;
缺点:此种方式的修改,在mysql 重启后就会失效。
方法二:修改配置文件my.cnf
一般路径是 /etc/my.cnf
,有的可能是推荐在/etc/my.cnf.d/
这样的文件夹里面修改对应的*.cnf
文件,这得看/etc/my.cnf
里面配置。
通过在配置文件里面手动添加sql_mode的方式强制指定不需要ONLY_FULL_GROUP_BY属性,
在 [mysqld]
下面添加代码:
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
验证
重启mysql,再次执行查询命令select @@GLOBAL.sql_mode;
- 分类:
- Devops
相关文章
前端模拟后端接口进行调试之node+mysql篇
有时前端在开发过程中肯定是会跟后端联调的,但是如果此时后端可能没有开发好,或者因为其它优先级高的事情无法联调,又或者是前端需要确保当前项目无明显bug后着手开发其他项目。这个时候如果能模拟后端接口数据 阅读更多…
docker运行WordPress报MySQL server has gong away
前几天在用docker安装wordpress,之前已经安装的有mysql,准备使用--link的方式让wordpress的容器访问之前的mysql的容器,但是总是一启动在浏览器里面访问就把容器给搞挂了 阅读更多…
php连接mysql数据库代码
创建页面开始连接 <?php $con = mysql_connect("localhost","root","sa"); 阅读更多…
Ubuntu建立PHP服务器(apache+php+mysql+phpmyadmin)
Ubuntu建立LAMP(apache+php+mysql+phpmyadmin) Ubuntu安装配置LAMP WEB服务器最详细和全面的方法: 一.安装 1.安装LAMP 在新立得软件包 阅读更多…
将excel里面的数据导入mysql
1.将excel里面选中的数据快儿拷贝到一个TXT文本文件中(记得把后面的空格消掉。。否则导入数据库后会有对应的空行),假如存到“D:da ta.txt”这个位置里。 2.根据要导入的数据快儿 阅读更多…