Err1055,新版5.7以上执行sql语句时候,在最后一行会出现这个问题:
[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
解决步骤:
1.登录mysql查看sql_mode内容
select version(), @@sql_mode;
结果:
2.复制
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,去掉ONLY_FULL_GROUP_BY,
在 /etc/my.cnf 文件里加上如下:
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
3.重启Mysql服务
systemctl restart mysqld.service
4.登录mysql查看sql_mode内容(没有了ONLY_FULL_GROUP_BY):
select version(), @@sql_mode;
5.完美解决。网上很多方法都是用sql修改这个值,mysql重启后失效,要永久修改则必须修改my.cnf文件才凑效。