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
相关文章
docker运行WordPress报MySQL server has gong away
前几天在用docker安装wordpress,之前已经安装的有mysql,准备使用--link的方式让wordpress的容器访问之前的mysql的容器,但是总是一启动在浏览器里面访问就把容器给搞挂了 阅读更多…
将excel里面的数据导入mysql
1.将excel里面选中的数据快儿拷贝到一个TXT文本文件中(记得把后面的空格消掉。。否则导入数据库后会有对应的空行),假如存到“D:da ta.txt”这个位置里。 2.根据要导入的数据快儿 阅读更多…
php连接access数据库的两种方法
第一种方法 <?php //读取mdb数据库的值,创建ADO连接 $username =1; $conn = new com("ADODB.Connection"); 阅读更多…
windows下xampp的mysql中文乱码
今天突然想搞微信公众账号的时候,碰到了将用户的中文存入mysql出现乱码的情况,于是在折腾了一会,特把过程记录下来,以备忘。 1、老习惯,我喜欢所有文件的编码用utf-8,极度不喜欢gbk之流。 阅读更多…
docker安装php nginx mysql容器化记录
建议第一步应该先安装mysql,因为后面的php很可能是需要连接mysql的,然后nginx是需要转发.php文件给php-fpm的 新建nginx的配置文件 /root/website/ngi 阅读更多…
php连接mysql数据库代码
创建页面开始连接 <?php $con = mysql_connect("localhost","root","sa"); 阅读更多…