大家好,我想找到 WHMCS 中的 MySQL 严格模式并将其禁用,但是我没有进展。
由于我是新手,如果没有提及其他事项,请见谅。
有人能帮助我吗?我正在使用 WHM/Cpanel。
大家好,我想找到 WHMCS 中的 MySQL 严格模式并将其禁用,但是我没有进展。
由于我是新手,如果没有提及其他事项,请见谅。
有人能帮助我吗?我正在使用 WHM/Cpanel。
通过cPanel关闭(或打开)mysql的严格访问。
1. 搜索“phpmyadmin”,在搜索框中点击它。
2. 一旦phpmyadmin加载完成,点击“variables”选项卡。
3. 搜索“sql mode”。
然后
要启用严格模式,请输入:
STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
要关闭严格模式,请输入以下内容:
to turn strict mode off, enter
NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
如果您可以控制您将使用的脚本,那么最好将严格模式保留,它会在问题变得更加严重之前向您发出警报,以便发现代码中的任何错误。
我目前在运行一个装有MariaDB和多个cpanel配置的Centos 6.9服务器,因此对于客户而言,他们无法在不出现权限错误的情况下自行禁用strict模式。以下是如何全局禁用它:
# mysql -e "SELECT @@sql_mode;"
+----------------------------------------------------------------------+
| @@sql_mode |
+----------------------------------------------------------------------+
|STRICT_TRANS_TABLES, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, |
|NO_ENGINE_SUBSTITUTION |
+----------------------------------------------------------------------+
vim /etc/my.cnf
启用 严格模式:
sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
严格模式禁用:
sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
/etc/init.d/mysql restart
# mysql -e "SELECT @@sql_mode;"
+--------------------------------------------+
| @@sql_mode |
+--------------------------------------------+
| NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+--------------------------------------------+
完成了 :)
我认为在最新版本中无法更改*.cnf文件,相反,您可以更改mysql.service文件
/lib/systemd/system/mysql.service
ExecStart=/usr/sbin/mysqld --sql-mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
打开my-default.ini
文件并从sql_mode
值中删除STRICT_TRANS_TABLES
参数。
[例如:在本地主机xampp上,该文件位于xampp/mysql/my-default.ini]
sql_mode的默认值如下
sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
将其更改为
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
这将禁用MYSQL的严格模式
my-default.ini
或以.ini
结尾的不同文件。 - Shirishkumar Bari首先,使用以下命令验证MYSQL正在运行的模式:
mysql -u root -p -e "SHOW VARIABLES LIKE 'sql_mode';"
您需要将root替换为在服务器上拥有超级用户权限的用户名(但通常只是root)。您还需要输入密码。
通过SQL命令行禁用严格模式:
您可以通过在命令行上运行以下命令来禁用MySQL服务器上的严格模式:
mysql -u root -p -e "SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION';"
sql_mode = NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
放入/etc/my.cnf
文件中,就像这个答案所示:https://dev59.com/1VoT5IYBdhLWcg3w-DO6#47416442 - Nabi K.A.Z.