MySQL Err 1055的解决
同事在5.7.14的mysql上创建的表,需要在服务器上同步,但是小版本变成了5.7.17(不知道与版本有没有关系)
在Navicat里执行创建表的sql命令时,报错Err 1055
[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
一开始按照网上搜到的,找mysql的配置文件,my.cnf,但是我在windows系统里只找到my.ini文件
这里提一下找my.ini文件可以通过服务里找到mysql服务,转到详细信息再进到文件所在位置就行
发现配置文件里的sql-mode并没有only_full_group_by,按照网上说的
改成sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,
重启了服务但是新建表还是报原来的错误。
再搜索尝试新的方法,
sql查询select @@global
.sql_mode
发现ONLY_FULL_GROUP_BY这个东西是存在的
然后执行SET sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
成功!都不用重启服务
在这里谢谢 http://blog.csdn.net/u012919352/article/details/53944560