Docker 中修改Mysql 数据库的 only_full_group_by 模式

执行查询,更新等 Sql 时,会出现下面的提示:

[Err] 1055 - 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

产生的原因是:5.7版本的数据库设置了 only_full_group_by 模式
解决方式只有一种,只有一种,只有一种,修改配置文件,但是在docker中的数据库会比普通的难改一些,需要多出几步。

docker images : 列出本地镜像
docker exec -it mysql-sucai bash 进入mysql 镜像
现在就进入容器的命令行模式
mysql -u -root -p 登录进入mysql
cat /etc/mysql/mysql.conf.d/mysqld.cnf 查看mysql容器的配置文件
在最后加入一行命令,需要使用vi命令,可能虚拟机中没有装,可以按一下方式进行安装:安装Vi:apt-get install vim,如果提示:Unable to locate package vim,则需要敲:apt-get update。等更新完毕以后再敲命令: apt-get install vim

vi /etc/mysql/mysql.conf.d/mysqld.cnf,修改配置文件,在最后增加:sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
image.png

exit 退出容器
docker restart mysql(容器名)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容