我在这方面不是很有经验,但我一直在尝试让 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_mode | +------------------------------------------------------------------------------------------------------------------------------------------------------+ | STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | +------------------------------------------------------------------------------------------------------------------------------------------------------+
不过,我可以使用以下方法为 session 暂时关闭严格模式:
mysql> SET GLOBAL sql_mode ="";
问题是当机器重新启动时设置不会保持不变,然后恢复到严格模式。
关于如何在 ubuntu 上的 MySQL 中永久关闭严格模式以允许我使用 WHMCS,是否有人有更明确的建议?
我似乎找不到任何其他可能覆盖此严格模式设置的配置文件,但我可能会遗漏一些东西。
最佳答案
mysql重启后最初有两个文件。
您可以在以下文件中查找“sql_mode”并根据您的要求更新它们:/etc/my.cnf
或 /usr/my.cnf
你必须以 root 用户身份执行,然后在 mysql 再次重启后它永远不会改变。
关于php - MySQL sql_mode 永久关闭严格模式 Linux for WHMCS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27575947/