我花了几个小时试图弄明白这一点,但我被严重卡住了。我今天安装了最新版本的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或重新启动计算机,我必须再次执行,因为更改不是永久性的。
5条答案
按热度按时间lqfhib0f1#
免费妈妈
转到phpmyadmin>变量选项卡查找sql模式行并单击编辑按钮将值替换为“严格的事务表、无零日期、无零日期、错误除以零、无自动创建用户、无引擎替换”
对我来说很管用
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
当文件为空时,添加以下内容:(当文件不为空时,只需添加行
sql_mode=""
就在队伍后面[mysqld]
)保存配置文件并关闭文本编辑器;重新启动mamp并启动服务器。
mfpqipee3#
如果您运行的是mysql 8.x,请尝试以下操作:
0x6upsns4#
试图找到并编辑正确的my.cnf文件可能是错误的策略。对我来说,mamp专业指南中的关键信息是:
您不能直接编辑my.cnf。您必须使用mamp pro界面来编辑my.cnf文件。在菜单中进入file>edit template>mysql>my.cnf。
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
把它摆正。