解决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配置文件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • docker中修改mysql最大连接数及配置文件的实现

    1.找到mysql镜像 docker ps 2.进入镜像mysql镜像内部 docker exec -it 05138413c565 /bin/bash 3.安装vim 因为docker镜像内部没有带vim命令,所以需要手动安装,也可以利用docker cp命令从宿主机中复制过去 apt-get update apt-get install vim 4.编辑配置文件 vim /etc/mysql/mysql.conf.d/mysqld.cnf 在文件中加入max_connections=1024

  • docker下修改mysql配置文件的方法

    由于需要修改mysql的sql_mode,在命令行修改每次重启都会失效,因为修改docker下mysql的配置文件. 操作系统:centos7 docker版本:Docker version 17.05.0-ce, build 89658be mysql版本:5.7.18 1.拉取镜像 docker pull mysql:5.7.18 2.列出镜像 [root@zk01 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE mysql 5.

  • 解决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

  • 解决Docker之mysql容器数据库更改不生效的问题

    用官方的mysql 镜像需要修改一些内容,比如配置文件的修改,DB数据文件的目录等,更改之后如果重新运行容器,改过的文件就无效了,新生成的容器不会有之前改变的内容 第一种是修改官方下载的镜像,修改之后 提交一个新的镜像文件 docker commit -m 等新生成的镜像信息, 第二种MYSQL的DB数据,容器关闭后 如果用 docker restart 重启同一容器,那么数据是正常的,如果重新docker run 容器那么数据就不会显示,因为每个容器都有一个文件地址 这就需要把数据文件挂载出来

  • Mysql 服务 1067 错误 的解决方法:修改mysql可执行文件路径

    今天遇到mysql服务1067错误的问题,设置使用系统账户也无法启动mysql,后面认证看了系统的配置信息,发现启动文件也就是mysql安装路径是之前的(也说明之前安装mysql,没去卸载直接安装新的会出错),于是打算修改修改mysql可执行文件路径,换成现在的. 但是各种百度,都说的不明确,后面打算放弃了,干脆重装系统,才发现这个可以解决. 第一步:停止服务MySQL 第二步:(控制台:运行->regedit),根据路径HKEY_LOCAL_MACHINE\SYSTEM\CurrentCont

  • docker修改容器配置文件的3种方法总结

    目录 run时候已经进行绑定操作 修改未绑定的配置文件 拷贝容器内外的文件操作 修改对外端口等 总结 run时候已经进行绑定操作 在启动容器的时候可以通过 -v双向绑定本地的某文件,这样任意修改哪一个都会同步变化docker run [OPTIONS] IMAGE [COMMAND] [ARG...] -p: 指定端口映射,格式为:主机(宿主)端口:容器端口 –volume , -v: 绑定一个数据卷 -d: 后台运行容器,并返回容器ID: –name=“redis”: 为容器指定一个名称: -

  • 完美解决docker安装mysql后Navicat连接不上的问题

    一.docker拉取镜像 docker pull mysql (默认拉取最新版本的) 二.运行mysql docker run -p 3308:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql 容器名:mysql 密码:123456 三.查看是否运行 docker ps -a 四.查看启动日志 docker logs mysql mysql就是刚刚启动的容器名,确认mysql启动是正常的 五.错误 当我用Navicat进行链接的时候

  • 解决docker中mysql时间与系统时间不一致问题

    最近在Docker中装mysql时,发现数据库时间与系统时间相差8个小时. linux服务器时间: 进入mysql,输入date如下 发现两者时区不同.因为mysql容器是在docker中安装的,所以mysql的时间不对应该是宿主docker导致的. 查询资料发现,docker的默认时区是0区,其实这会对安装的容器造成不少麻烦,比如执行日志的记录不准确等. 有如下两种方式解决: 方法一:复制主机的localtime docker cp /etc/localtime [容器ID或者NAME]:/e

  • Docker的MySQL容器时区问题修改

    前言 阿航在开发Springboot项目时, 前端告诉验证码一直无效. 本地测试没有问题, 一看远程服务器的数据库时间, 哇塞–早了8小时. 很明显, 是MySQL的时区问题. 本篇文章就来记录下如何修改Docker 的 MySQL 容器时区. 解决方案 先来校验下数据库是否真的时区不对. 进入MySQL数据库, 运行语句: SELECT NOW(); 会返回类似这样的数据: mysql> SELECT NOW(); +---------------------+ | NOW() | +----

  • 一文学会docker 安装mysql的方法

    目录 1.使用 docker 命令下载 mysql 2.使用 docker 命令创建实例并启动: 3.修改 mysql 配置文件: 4.重新启动 mysql: 1.使用 docker 命令下载 mysql docker pull mysql:5.7 5.7是版本号,可以去https://hub.docker.com/_/mysql?tab=tags 网站查询想要安装的 mysql 版本: 2.使用 docker 命令创建实例并启动: docker run -p 3306:3306 --name

随机推荐