我目前在 vtiger 安装向导中收到此错误(步骤4)。
MySQL Server should be configured with:
sql_mode = ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
我正在使用共享的PHP 7.2
MySQL 5.7
托管,并且管理员说sql_mode
设置为
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
问题来了
这种行为真的与sql_mode
设置有关吗?我需要联系我的托管服务提供商吗?还是有替代方法?
答案 0 :(得分:1)
连接到新的 mariadb 10 数据库解决了该问题。
将注释中所述的将 MySQL 版本更改为 <5.7 也应有效。
答案 1 :(得分:0)
对于Ubuntu-运行命令:
sudo nano /etc/mysql/my.cnf
在底部添加以下部分:
[mysqld]
sql_mode=ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
运行命令以重新启动MySQL服务:
sudo service mysql restart
您还需要在phpmyadmin中将数据库排序规则更改为utf8_general_ci
。
完成!
答案 2 :(得分:0)
我认为您应该注意Mysql正在使用的端口,如果您使用的是Wampserver,则默认情况下,新版本将首先安装MariaDB,第二个安装MySQL,因此MariaDB获得端口3306,而Mysql获得另一个端口(大多数时间3307)。
Vtiger将始终尝试将数据库连接到端口3306(除非您在代码中更改了它)。因此,您可以根据需要在“ /bin/mysqlx.xx/my.cfg”中更改sql-mode,并在MySQL控制台中看到它的更改,但是Vtiger不会尝试连接到它,而是连接到3306。
我在这个问题上花了更多的时间而不是应有的时间,主要是因为我觉得更改.cfg文件中的“ sql-mode”以更改“ sql_mode”变量是很奇怪的,也是问题所在,idk为什么MySQL会这样做这样,但这根本不是用户友好的。