将 vtiger 与 mysql 连接时出现意外错误
Unexpected error connecting vtiger with mysql
我目前在 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
设置有关吗?我是否必须联系我的托管服务提供商或是否有替代方案?
连接到新的 mariadb 10 数据库解决了问题。
因此,将 MySQL 版本更改为 <5.7 也应该有效。
对于 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
。
完成!
我认为你应该注意 Mysql 正在使用的端口,如果你正在使用 Wampserver,默认情况下新版本首先安装 MariaDB,然后 MySQL 然后 MariaDB 获得端口 3306 Mysql 得到另一个(大部分时间是 3307)。
Vtiger 将始终尝试连接到端口 3306 的数据库(除非您在代码中更改它)。因此,您可以根据需要更改“/bin/mysqlx.x.x/my.cfg”中的 sql-mode,并在 MySQL 控制台中看到它已更改,但 Vtiger 赢了正在尝试连接到它,但连接到 3306。
我在这个问题上花费的时间比它应得的多得多,主要是因为我觉得更改 .cfg 文件中的 "sql-mode" 以更改 "sql_mode" 变量很奇怪并且是问题所在,我不知道为什么 MySQL 会那样做,但这对用户来说一点都不友好。
我目前在 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
设置有关吗?我是否必须联系我的托管服务提供商或是否有替代方案?
连接到新的 mariadb 10 数据库解决了问题。
因此,将 MySQL 版本更改为 <5.7 也应该有效。
对于 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
。
完成!
我认为你应该注意 Mysql 正在使用的端口,如果你正在使用 Wampserver,默认情况下新版本首先安装 MariaDB,然后 MySQL 然后 MariaDB 获得端口 3306 Mysql 得到另一个(大部分时间是 3307)。
Vtiger 将始终尝试连接到端口 3306 的数据库(除非您在代码中更改它)。因此,您可以根据需要更改“/bin/mysqlx.x.x/my.cfg”中的 sql-mode,并在 MySQL 控制台中看到它已更改,但 Vtiger 赢了正在尝试连接到它,但连接到 3306。
我在这个问题上花费的时间比它应得的多得多,主要是因为我觉得更改 .cfg 文件中的 "sql-mode" 以更改 "sql_mode" 变量很奇怪并且是问题所在,我不知道为什么 MySQL 会那样做,但这对用户来说一点都不友好。