在Windows中永久启用ONLY_FULL_GROUP_BY

时间:2017-01-23 09:08:48

标签: mysql mysql-5.7

我在Windows 7上运行mysql 5.7.17,我发现它的配置与我从docker镜像运行时的​​配置不同。更具体地说,docker镜像添加了ONLY_FULL_GROUP_BY模式,默认情况下Windows安装不会。我也想在Windows中添加它(永久,不仅仅是为了会话)。我尝试过这个选项:

[mysqld]
sql_mode="NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,ONLY_FULL_GROUP_BY"

[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,ONLY_FULL_GROUP_BY

C:\Program Files\MySQL\MySQL Server 5.7\my-default.ini中(这是安装创建的唯一文件,但在评论中告知不要编辑它),C:\Program Files\MySQL\MySQL Server 5.7\my.iniC:\Windows\my.ini。当我执行mysql --help时,我得到了这个输出:

  

以给定顺序从以下文件中读取默认选项:   C:\ windows \ my.ini C:\ windows \ my.cnf C:\ my.ini C:\ my.cnf C:\ Program   Files \ MySQL \ M ySQL Server 5.7 \ my.ini C:\ Program Files \ MySQL \ MySQL   Server 5.7 \ my.cnf

我在C:\中没有任何相关内容。

但是服务器似乎没有选择sql模式。当我查询SELECT @@sql_modeSELECT @@global.sql_mode时,我只会获得STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

来自the Mysql docs

  

在Windows上,MySQL Installer与用户交互,并在基本安装目录中创建名为my.ini的文件作为默认选项文件。如果从Zip存档在Windows上安装,则可以将基本安装目录中的my-default.ini模板文件复制到my.ini,并将后者用作默认选项文件。

但同样,我只创建了my-default.ini

0 个答案:

没有答案