mysql - 如何在 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 或重新启动计算机,我必须再次执行此操作,因为更改不是永久性的。
解决方案
MAMP Pro
打开 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.打开 MAMP Pro 的主窗口并通过菜单转到
File > Edit Templates > MySQL > (your version)
.
这将打开一个带有您的 MySQL 配置的文本编辑器。在配置文件中查找该行
[mysqld]
(注意d
末尾的!)。
在此行之后,添加一个包含以下文本的新行:sql_mode=""
保存文件,关闭它并重新启动您的 MySQL 服务器。
MAMP(免费)
默认情况下,MAMP free 在没有my.cnf
文件的情况下启动 MySQL 服务器,即它使用 MySQL 构建附带的默认配置。所以你必须手动创建一个配置文件:
- 退出 MAMP(停止服务器)
在终端中运行以下命令- 它将在您的文本编辑器应用程序中打开配置文件:
touch /Applications/MAMP/conf/my.cnf && open -t /Applications/MAMP/conf/my.cnf
当文件为空时,添加以下内容:
[mysqld] sql_mode=""
(当文件不为空时,只需在该行
sql_mode=""
之后添加该行[mysqld]
)保存配置文件并关闭文本编辑器;重新启动 MAMP并启动服务器。
推荐阅读
- php - 以 Laravel 形式创建对象数组
- keycloak - Keycloak API execute-actions-email 发送 http 电子邮件
- php - 如何在不更改所有者或组的情况下创建或编辑不由 www-data 拥有或分组的文件?
- angular - HTML 显示 ID 而不是名称
- api - 已超出 Youtube 数据 API 配额
- python - 带有整个 df 的布尔索引
- javascript - 如何使用 MongoClient 而无需每次都编写“client.close()”?
- python - Why does python's lambda function not resample from a distribution?
- python - 使用 Python 和 Github API 从 repo 收集数据
- javascript - 在 Vuejs 中动态切换 flex 大小?