Linux环境部署mysql5.7之后,发现原来的一些sql运行报错,错误信息和sql_mode中的“only_full_group_by“有关,到网上看了原因,说是mysql5.7中only_full_group_by这个模式是默认开启的。
解决办法如下:
修改my.cnf(windows下是my.ini)配置文件,删掉only_full_group_by这一项
在配置文件最底下,改为如下语句:
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
如果 [mysqld] 这行被注释掉的话记得要打开注释。然后重启mysql服务(service mysqld restart)。