mysql異常[Err] 1055 - GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

在操作集群上的Mysql5.7修改Hive元數(shù)據(jù)支持中文 注釋時,遇到如下錯誤

Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

根據(jù)異常信息分析能發(fā)現(xiàn),這個問題主要是由于sql_mode引起,所以先查看sql_mode后修改即可,主要是去除only_full_group_by

這是數(shù)據(jù)庫的sql_mode設(shè)置的有問題。Mysql可以支持不同的SQL模式,不同的SQL模式會有不同的語法,執(zhí)行不同的數(shù)據(jù)校驗簡查。


解決方案:

方案一:只修改當前數(shù)據(jù)庫的SQL_MODE

-- 查看SQL_MODE

SELECT @@sql_mode;

-- 修改SQL_MODE

SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

解決方案二:完美解決方案。

? 需修改mysql配置文件,通過手動添加sql_mode的方式強制指定不需要ONLY_FULL_GROUP_BY屬性,

? my.cnf位于etc文件夾下,vim下光標移到最后,添加如下:

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

? ? ? 重啟mysql服務(wù),順利解決。

sudo systemctl restart mysqld

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容