如何在mac上使用mamp在mysql中禁用严格模式

zqry0prt  于 2021-06-20  发布在  Mysql
关注(0)|答案(5)|浏览(337)

我花了几个小时试图弄明白这一点,但我被严重卡住了。我今天安装了最新版本的mysql,网站上有些东西坏了。我相信这与严格的设置有关,忽略空格,日期中没有0,日期中没有0,错误被0除,没有自动创建用户,没有引擎替换
我试图禁用严格模式只是为了让我的网站工作,但这似乎是不可能的。我在终点站试过这个,但运气不好。

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或重新启动计算机,我必须再次执行,因为更改不是永久性的。

lqfhib0f

lqfhib0f1#

免费妈妈
转到phpmyadmin>变量选项卡查找sql模式行并单击编辑按钮将值替换为“严格的事务表、无零日期、无零日期、错误除以零、无自动创建用户、无引擎替换”
对我来说很管用

olhwl3o2

olhwl3o22#

mamp专业版

打开mamp pro并检查您的设置(⌘+,). 确保 Hide Dock Icon 未选中。如果需要,取消选中图标,退出mamp并重新启动它。
注意:这是查看mamp的菜单项所必需的。稍后可以再次隐藏停靠图标。
打开mamp pro的主窗口,通过菜单进入 File > Edit Templates > MySQL > (your version) .
这将打开一个带有mysql配置的文本编辑器。
在配置文件中查找 [mysqld] (注意 d 最后!)。
在这一行之后,添加一个新行,内容如下: sql_mode="" 保存文件,关闭它并重新启动mysql服务器。

mamp(免费)

默认情况下,mamp free启动mysql服务器时没有 my.cnf 文件,即它使用mysql构建时附带的默认配置。因此必须手动创建配置文件:
退出mamp(停止服务器)
在终端中运行以下命令-它将打开文本编辑器应用程序中的配置文件: touch /Applications/MAMP/conf/my.cnf && open -t /Applications/MAMP/conf/my.cnf 当文件为空时,添加以下内容:

[mysqld]
sql_mode=""

(当文件不为空时,只需添加行 sql_mode="" 就在队伍后面 [mysqld] )
保存配置文件并关闭文本编辑器;重新启动mamp并启动服务器。

mfpqipee

mfpqipee3#

如果您运行的是mysql 8.x,请尝试以下操作:

SET PERSIST SQL_MODE = "IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";
0x6upsns

0x6upsns4#

试图找到并编辑正确的my.cnf文件可能是错误的策略。对我来说,mamp专业指南中的关键信息是:
您不能直接编辑my.cnf。您必须使用mamp pro界面来编辑my.cnf文件。在菜单中进入file>edit template>mysql>my.cnf。

qf9go6mv

qf9go6mv5#

为了更新mamp 5的免费版本,我发现如果权限设置不正确,mamp将忽略/applications/mamp/conf/目录中的my.cnf文件。我运行这个命令来发现。。。 /Applications/MAMP/Library/bin/mysql --verbose --help | grep -A 1 "Default options" 告诉我这个。
mysql:[警告]忽略了世界可写配置文件'/applications/mamp/conf/my.cnf'。默认选项按给定顺序从以下文件读取:/etc/my.cnf/etc/mysql/my.cnf/applications/mamp/conf/my.cnf~/.my.cnf
chmod 755 my.cnf 把它摆正。

相关问题