0

版本:Plesk Onyx v17.8.11_build1708180301.19 操作系统:Ubuntu 16.04.4 LTS

在我的日志中,我有这个错误:

AH01071:得到错误“PHP 消息:PHP 致命错误:未捕获的异常 'PDOException' 和消息 'SQLSTATE[42000]:语法错误或访问冲突:1055 SELECT 列表的表达式 #7 不在 GROUP BY 子句中,并且包含非聚合列 'base .count_traffic.type' 在功能上不依赖于 GROUP BY 子句中的列;这与 sql_mode=only_full_group_by' 不兼容

mysql -V ->mysql Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using EditLine wrapper

SQL_MODE 设置为: NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

另一台服务器上相同的设置和相同的 Pleask 版本,一切正常,但在这方面,不!

4

1 回答 1

0

这与 MySQL 中的sql_mode行为有关。您需要在全局和会话中更改此参数并删除only_full_group_by

SET GLOBAl sql_mode = 'NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

在会议上:

SET session sql_mode = 'NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

请注意,对于数据库中的现有连接,这不会有任何影响。该配置仅适用于新连接。如果需要,您可以编辑my.cnf并重新启动数据库。这是一个例子:

[mysqld]
sql-mode='NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
于 2018-06-19T03:47:57.790 回答