我在这方面不是很有经验,但我一直在尝试永久强制执行 mySQL strict_mode
设置,以便我可以安装和设置数据库以安装 WHMCS。
问题是我看到过许多不同的帖子和人们说您应该更改 my.cnf 文件并放入以下sql_mode设置:
[mysqld]
sql_mode="TRADITIONAL,NO_AUTO_CREATE_USER"
我还尝试了以下方法:
sql_mode= "TRADITIONAL"
这些似乎没有任何影响。当我重新启动mySQL然后使用以下命令检查模式时:
mysql> SELECT @@GLOBAL.sql_mode;
我得到以下内容,这显然意味着我仍然处于严格模式:
+------------------------------------------------------------------------------------------------------------------------------------------------------+ |@@GLOBAL.sql模式 | +------------------------------------------------------------------------------------------------------------------------------------------------------+ |STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,传统,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | +------------------------------------------------------------------------------------------------------------------------------------------------------+
但是,我可以使用以下命令暂时关闭会话的严格模式:
mysql> SET GLOBAL sql_mode ="";
问题是,当计算机重新启动然后恢复到严格模式时,设置不会成立。
有没有人对如何在 ubuntu 上的 MySQL 中永久关闭严格模式以允许我使用 WHMCS 有一些更明确的建议?
我似乎找不到任何其他可能覆盖此严格模式设置的配置文件,但我可能缺少一些东西。
重新启动后,有两个文件最初是mysql。您可以在以下文件中查找"sql_mode",并根据您的要求更新它们:/etc/my.cnf
或/usr/my.cnf
您必须以根用户的身份执行此操作,然后在mysql再次重新启动后它将永远不会更改。