通过 Docker 安装的 MySQL 5.7,发现使用GROUP BY
语句时或报错,记错下处理过程:
MySQL 5.7 的安装可参考 前端学习 Docker 之旅(四)—— 安装 MySQL 并启动、连接,修改时区。
¶1、进入容器
1 | docker exec -it mysql-5.7 /bin/bash |
¶2、进入 MySQL 的配置文件夹
通过 docker 安装的 MySQL 5.7 配置文件为/etc/mysql/mysql.conf.d/mysqld.cnf
1 | cd /etc/mysql/mysql.conf.d |
可以看看有没有vi
、vim
,没有的话可以通过echo
编辑mysqld.cnf
,命令格式为echo '' > fileName
,引号内为文件内容。
将上一步 cat 得到的原有配置文件拷贝到编辑器,在配置文件中的[mysqld]
下添加一行:
1 | sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" |
在上述编辑后的内容前后加上命令的内容,并拷贝到 docker 镜像内的终端执行:
1 | echo '# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. |
¶3、重启 docker 镜像
完成上述步骤后可以cat mysqld.cnf
看下是否已保存成功,重启 docker 镜像后就可以使用GROUP BY
语句啦。
1 | docker restart mysql-5.7 |
¶参考资料:
mysql5.7 报错1055:Expression #1 of SELECT list is not in GROUP BY clause and contains non