1

本人的mysql版本为8.0版本,系统环境为mac.

事情的起因是,在本地开发写sql的过程中, 遇到了group by分组引发的报错,报错内容为:

In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated c

网上百度大半天,说是需要修改my.cnf文件, 添加sql_mode的配置

看了一大堆, 都是修改为:

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, 发现 mysql重启失败:
image2.png

在stackoverflow上找到原因, 原文链接为
https://stackoverflow.com/que...

MySQL 8.0.11从sql-mode删除'NO_AUTO_CREATE_USER'。

所以my.cnf的配置中, 应该改为:

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

修改完成后,重启mysql成功
命令行查看sql_mode
image.png

发现已经修改成功


dashixiong
3 声望0 粉丝

bug人生