首页 > 解决方案 > 如何在 Mac 上使用 MAMP 在 mysql 中禁用严格模式

问题描述

我花了几个小时试图弄清楚这一点,但我被严重卡住了。我今天安装了最新版本的 mysql,但我网站上的一些东西坏了。我相信这与严格的设置有关,IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

我试图禁用严格模式只是为了让我的网站正常工作,但这似乎是不可能的。我已经在终端尝试过,但没有运气。

sudo vim /etc/mysql/conf.d/disable_mysql_strict_mode.cnf


[mysqld] 
    sql_mode="IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 

我查看了我能找到的每个 etc 文件夹和其他各种文件夹,但看不到任何类似于 .cnf 文件的内容。

我可以通过 phpmyadmin 临时执行此操作,但如果我关闭 MAMP 或重新启动计算机,我必须再次执行此操作,因为更改不是永久性的。

标签: mysqlphpmyadmin

解决方案


MAMP Pro

  1. 打开 MAMP Pro 并检查您的设置 (⌘</kbd>+,). Make sure Hide Dock Icon is unchecked. If required, uncheck the icon, quit MAMP and restart it.
    Note: This is required to see the menu entries for MAMP. You can hide the Dock Icon again later.

  2. 打开 MAMP Pro 的主窗口并通过菜单转到File > Edit Templates > MySQL > (your version).
    这将打开一个带有您的 MySQL 配置的文本编辑器。

  3. 在配置文件中查找该行[mysqld](注意d末尾的!)。
    在此行之后,添加一个包含以下文本的新行:sql_mode=""

  4. 保存文件,关闭它并重新启动您的 MySQL 服务器。

MAMP Pro 配置


MAMP(免费)

默认情况下,MAMP free 在没有my.cnf文件的情况下启动 MySQL 服务器,即它使用 MySQL 构建附带的默认配置。所以你必须手动创建一个配置文件:

  1. 退出 MAMP(停止服务器)
  2. 在终端中运行以下命令- 它将在您的文本编辑器应用程序中打开配置文件:
    touch /Applications/MAMP/conf/my.cnf && open -t /Applications/MAMP/conf/my.cnf

  3. 当文件为空时,添加以下内容

    [mysqld]
    sql_mode=""
    

    (当文件不为空时,只需在该行sql_mode=""之后添加该行[mysqld]

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

MAMP免费配置


推荐阅读