Mysql ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 问题的处理

在使用如下命令:mysql

docker run -p 3306:3306 --name jiuhao-mysql 
-v F:/docker/mysql/datadir:/var/lib/mysql 
-e MYSQL_ROOT_PASSWORD=123456 -d  mysql

启动mysql后,执行某个sql报以下错误:sql

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_bydocker

所以须要从新配置mysql的配置来规避。bash

使用下面的命令启动mysql,指定自定义配置的目录:this

docker run -p 3306:3306 --name jiuhao-mysql 
-v F:/docker/mysql/datadir:/var/lib/mysql 
-v F:/docker/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d  mysql

其中-v F:/docker/mysql/conf:/etc/mysql/conf.d是关键,将宿主机的一个目录映射到容器中的conf.d目录,容器中的mysql会加载这个目录下面全部配置。若是-v 挂载不是了请设置宿主机硬盘共享。以下图:spa

能够使用3d

winpty docker exec -it jiuhao-mysql bash

进行/etc/mysql下的目录查看。rest

接下来在宿主机的F:/docker/mysql/conf的目录下建立一个mysql的配置文件,名字自定义,这里仍是使用my.cnf做为文件名。配置内容以下:code

[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

sql_mode能够根据本身的须要修改。orm

最后重启容器:

docker restart jiuhao-mysql

相关文章
相关标签/搜索