温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

启动mysql后执行某个sql报错如何处理

发布时间:2021-12-04 14:53:42 来源:亿速云 阅读:234 作者:iii 栏目:云计算

这篇文章主要介绍“启动mysql后执行某个sql报错如何处理”,在日常操作中,相信很多人在启动mysql后执行某个sql报错如何处理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”启动mysql后执行某个sql报错如何处理”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

在使用以下命令:

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报如下错误:

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

因此需要重新配置mysql的配置来规避。

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

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 挂载不是了请设置宿主机硬盘共享。如下图:

启动mysql后执行某个sql报错如何处理

可以使用

winpty docker exec -it jiuhao-mysql bash

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

启动mysql后执行某个sql报错如何处理

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

[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

sql_mode可以根据自己的需要修改。

最后重启容器:

docker restart jiuhao-mysql

启动mysql后执行某个sql报错如何处理

到此,关于“启动mysql后执行某个sql报错如何处理”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI