You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装vtigercrm 7.3时出现SQL MODE错误代码该如何解决

解决VtigerCRM 7.3安装时MySQL sql_mode配置报错问题

该报错是VtigerCRM 7.3的运行环境校验规则导致,默认MySQL的sql_mode会包含ONLY_FULL_GROUP_BY、STRICT_TRANS_TABLES等额外参数,不符合VtigerCRM的要求,按以下步骤修改即可:

步骤1:查看当前sql_mode配置

执行以下命令登录MySQL并查询当前配置:

mysql -u root -p -e "SELECT @@sql_mode;"

输入数据库root密码后即可看到当前生效的sql_mode值,确认存在多余参数后执行后续修改操作。


方案1:临时修改(重启MySQL后失效,适合快速验证安装)

  • 登录MySQL命令行:mysql -u root -p,输入root密码完成登录
  • 执行全局配置修改命令:SET GLOBAL sql_mode = 'ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
  • 执行当前会话配置修改命令:SET SESSION sql_mode = 'ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
  • 退出MySQL命令行,重新启动VtigerCRM安装流程即可

方案2:永久修改(重启MySQL后依然生效,适合生产环境)

  • 找到对应系统的MySQL配置文件:
    • Linux系统通常为/etc/my.cnf、/etc/mysql/mysql.conf.d/mysqld.cnf
    • Windows系统通常为MySQL安装目录下的my.ini
  • 打开配置文件,找到[mysqld]配置段,新增或修改对应参数行:
    sql_mode = ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    
  • 保存配置文件后重启MySQL服务:
    • Linux Systemd环境执行:systemctl restart mysqld 或 systemctl restart mysql
    • Windows环境可在服务管理器找到MySQL服务右键重启,或执行net stop mysql && net start mysql
  • 重启完成后重新执行步骤1的查询命令,确认配置生效后再启动VtigerCRM安装

特殊场景说明

MySQL 8.0及以上版本适配

MySQL 8.0开始已经移除了NO_AUTO_CREATE_USER参数,上述配置改为以下内容即可:

sql_mode = ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

Docker部署的MySQL适配

启动容器时直接追加sql_mode参数即可:

docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=你的密码 mysql:5.7 --sql-mode="ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

如果使用docker-compose部署,在mysqld服务下新增command配置:

services:
  mysql:
    image: mysql:5.7
    command: --sql-mode="ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
    # 其余配置保持不变

内容的提问来源于stack exchange,提问作者DHX07

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 01:45:03