this is incompatible with sql_mode=only_full_group_by linux解决方案
MySQL错误-this is incompatible with sql_mode=only_full_group_by linux解决方案通过配置文件永久修改sql_mode
mysql安装在服务器上和安装在本地,修改配置文件的方式有点区别。
文件地址一般在:/etc/my.cnf,/etc/mysql/my.cnf
找到sql-mode的位置,去掉ONLY_FULL_GROUP_BY
然后重启MySQL;
有的my.cnf中可能没有sql-mode,需要追加:
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]下面,如加入到其他地方,重启后也不生效
service mysql restart
重启好后,再登录mysql,输入SQL:
show variables like ‘%sql_mode’;
如果还不行,那么只保留STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION 即可
追加内容为:
sql-mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
网上有些提供了sql_mode的值,却导致重启mysql服务启动不了
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
这时,只需要将sql_mode 值中 “NO_AUTO_CREATE_USER” 这个属性去掉即可。