解决docker修改mysql配置文件的问题
今天在用docker启动一个5.7的数据库在建表时候遇到下面问题:
[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
修改一下sql_model即可。
大家接下来就跟着我看一下这个docker怎么修改mysql内部的配置。
我先是在百度上随便收了一下docker修改mysql配置,结果真我震惊了,都是来回抄一个,还没给我解决,更过分的是还有的文章只抄了一半!!!所以我准备自己写一个真正快速解决问题的一篇关于修改dokcer里面的mysql的文章。
1:首先我在docker上快速启动了一个mysql
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql-docker1 mysql:5.7
2:在宿主机上新建一个文件夹(/home/mysql/mysql_conf)用来复制docker内部的配置文件
3:运行:docker cp mysql-docker:/etc/mysql/mysql.conf.d/mysqld.cnf /home/mysql/mysql_conf 把容器内部的配置文件cp到刚才建的文件夹下面。
4:在宿主机修改 mysqld.cnf 文件 加上下面的代码
sql_mode="STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_ENGINE_SUBSTITUTION"
5:把刚才那个mysql容器删除两句命令:
docker stop mysql-docker1 docker rm mysql-docker1
6:重新挂在启动一个新的实例:
docker run -d -p 3306:3306 -v /home/mysql/mysql_conf/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql-docker mysql:5.7
至此解决问题。
到此这篇关于docker修改mysql配置文件的文章就介绍到这了,更多相关docker mysql配置文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Windows Server 2016中文版安装docker的详细步骤
因业务需要所以需要安装Docker,但是在途中遇到了一些问题,所以下面这篇文章主要给大家介绍了关于Windows Server 2016中文版安装docker的详细步骤,需要的朋友可以参考下2022-07-07
Docker搭建ELK日志系统,并通过Kibana查看日志方式
这篇文章主要介绍了Docker搭建ELK日志系统,并通过Kibana查看日志方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-05-05
docker-compose 部署 Apollo 自定义环境的详细教程
本篇文章给大家介绍docker-compose 部署 Apollo 自定义环境的详细教程,而其中Config Service提供配置的读取、推送等功能,服务对象是Apollo客户端,对docker部署Apollo环境相关知识感兴趣的朋友一起看看吧2021-06-06
Linux系统安装docker并用ssh登录docker容器的操作方法
今天小编就为大家分享一篇Linux系统安装docker并用ssh登录docker容器的操作方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-06-06


最新评论