Mysql 如何在我的mac上永久设置SQL_模式

Mysql 如何在我的mac上永久设置SQL_模式,mysql,macos,operating-system,sql-mode,Mysql,Macos,Operating System,Sql Mode,我正在OsX 10.11 El Capitan上安装MySql。如果我尝试启动查询,如果我的查询包含Group By,则会出现一个奇怪的错误 因此,如果我尝试从终端执行此查询: SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY','')); 我可以执行我的查询,从来没有问题。现在,如果我尝试重新启动我的macbook,我会遇到一些问题,我可以重新执行查询 有没有办法永久修复此sql_模式 我必须打开“etc/m

我正在OsX 10.11 El Capitan上安装MySql。如果我尝试启动查询,如果我的查询包含Group By,则会出现一个奇怪的错误

因此,如果我尝试从终端执行此查询:

SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
我可以执行我的查询,从来没有问题。现在,如果我尝试重新启动我的macbook,我会遇到一些问题,我可以重新执行查询

有没有办法永久修复此sql_模式


我必须打开“etc/mysql/my.cnf”文件,但我的mac上没有这个文件。如何应用此更改?

您可以设置my.cnf并添加sql\u模式配置

  [mysqld]
  sql_mode=ONLY_FULL_GROUP_BY
默认情况下,OSX安装不使用my.cnf,MySQL只使用默认值。
要设置您自己的my.cnf,您可以直接在/etc中创建一个文件。

如果您想关闭“仅\u FULL\u GROUP\u BY”,您需要首先检查sql\u mode变量的值:

(默认值)

编辑MySQL配置文件my.conf。通常在/etc/my.cnf中,就像斯凯里奇说的那样。 但是,你必须写:

[mysqld]
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
(所有值,但不包含完整组-您可以复制/粘贴此行)


重新启动您的MySQL,尽情享受。

如果您使用的是MAMP PRO请注意以下指南:

您不能直接编辑my.cnf文件。您必须使用MAMP PRO界面编辑my.cnf文件。在菜单中,进入文件>编辑模板>MySQL>my.cnf

然后可以在[mysqld]标题下添加所需的sql_模式。e、 g:

[mysqld]
sql_mode=ONLY_FULL_GROUP_BY

这就是我的工作原理。

遵循这些步骤是正确的方法

  • 退出,妈妈

  • 在终端中运行以下命令:

    SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
    
    touch/Applications/MAMP/conf/my.cnf&&open-t/Applications/MAMP/conf/my.cnf

  • 当此文件为空时,请添加以下内容。如果文件不是空的,则只需在[mysqld]行之后添加行sql_mode=”“

    [mysqld] sql_mode=“”

  • 保存配置文件并关闭文本编辑器;重新启动MAMP并启动服务器


  • 参考:

    如何创建此文件?在/etc.中创建my.cnf
    /etc/my.cnf
    我已经在TextWrangler程序上打开了一个新文件,但是如果我试图在etc上保存它,我有一个错误我打开了Finder应用程序,Go->Go to:etc/然后我创建了一个mysql文件夹,然后我创建了一个my.cnf文件,代码是:[mysqld]sql\u mode”“,但我无法修复我的问题OK,我已经在/etc文件夹下创建了一个my.cnf文件。我重启了电脑,但问题还是一样的