docker下修改mysql配置文件[通俗易懂]

docker下修改mysql配置文件[通俗易懂]由于需要修改mysql的sql_mode,在命令行修改每次重启都会失效,因为修改docker下mysql的配置文件。操作系统:centos7docker版本:Dockerversion17.05.0-ce,build89658bemysql版本:5.7.181.拉取镜像dockerpullmysql:5.7.182.列出镜像[root@zk01~]#dockerimages

大家好,又见面了,我是你们的朋友全栈君。

由于需要修改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.7.18              e799c7f9ae9c        5 weeks ago         407MB

3.运行docker

docker run -d -p 3306:3306 --name mymysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.18

4.列出正在运行的容器

[root@zk01 docker]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
e1066fe2db35        mysql:5.7.18        "docker-entrypoint..."   6 seconds ago       Up 6 seconds        0.0.0.0:3306->3306/tcp   mymysql

5.进入容器

docker exec -it e1066fe2db35 /bin/bash

6.查看配置文件

/etc/mysql/mysql.conf.d/mysqld.cnf

配置文件内容:

[mysqld]
pid-file    = /var/run/mysqld/mysqld.pid
socket      = /var/run/mysqld/mysqld.sock
datadir     = /var/lib/mysql
#log-error = /var/log/mysql/error.log
# By default we only accept connections from localhost
#bind-address = 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
#symbolic-links=0

7.查看mysql的sql_mode

mysql> SELECT @@GLOBAL.sql_mode; +-------------------------------------------------------------------------------------------------------------------------------------------+
| @@GLOBAL.sql_mode | +-------------------------------------------------------------------------------------------------------------------------------------------+
| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | +-------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set

8.停止并删除容器

docker stop e1066fe2db35
docker rm e1066fe2db35

9.重新启动容器,指定数据目录和配置文件

docker run -d -p 3306:3306 -v /soft/mysql/my.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -v /soft/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mymysql mysql:5.7.18

10.查看sql_mode

mysql> SELECT @@GLOBAL.sql_mode; +-------------------+
| @@GLOBAL.sql_mode | +-------------------+
| | +-------------------+
1 row in set

mysql> SELECT @@SESSION.sql_mode; +--------------------+
| @@SESSION.sql_mode | +--------------------+
| | +--------------------+
1 row in set
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137282.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月5日 下午1:00
下一篇 2022年5月5日 下午1:20


相关推荐

  • ELK搭建 – Docker篇

    ELK搭建 – Docker篇ELK 分布式日志搜集分析系统 ELK 分布式日志收集系统介绍那么 ELK 到底是什么呢 ELK 是三个开源项目的首字母缩写 这三个项目分别是 Elasticsearc Logstash 和 Kibana Elasticsearc 是一个搜索和分析引擎 Logstash 是服务器端数据处理管道 能够同时从多个来源采集数据 转换数据 然后将数据发送到诸如 Elasticsearc 等 存储库 中 Kibana 则可以让用户在 Elasticsearc 中使用图形和图表对数据进行可视化 引用官网

    2026年3月26日
    2
  • Docker(二):Docker常用命令之镜像的创建:Dockerfile 与 commit

    Docker(二):Docker常用命令之镜像的创建:Dockerfile 与 commit

    2021年9月26日
    56
  • docker(6)镜像的使用

    docker(6)镜像的使用前言Docker的三大核心概念:镜像、容器、仓库。初学者对镜像和容器往往分不清楚,学过面向对象的应该知道类和实例,这跟面向对象里面的概念很相似我们可以把镜像看作类,把容器看作类实例化后的对象。|

    2022年7月28日
    9
  • 解决docker下载镜像速度过慢_docker镜像启动后又迅速结束

    解决docker下载镜像速度过慢_docker镜像启动后又迅速结束前言上一篇讲到pull镜像,但是pull镜像的时候下拉的速度实在感人,有什么解决办法吗?我们只需将docker镜像源修改为国内的将docker镜像源修改为国内的:在/etc/docker/d

    2022年7月31日
    5
  • Ubuntu下Docker安装gogs 偶然重启服务后无法访问

    Ubuntu下Docker安装gogs 偶然重启服务后无法访问1 进入容器实例内 dockerexec itXXXXXXbash 为 ContainerID 或者 Namedockerps a 可查看例如 dockerexec itgogs2020ba 在运行的容器中执行命令 d 分离模式 在后台运行 i 即使没有附加也保持 STDIN 打开 t 分配一个伪终端 2 容器实例内查看日志容器外安装时设置的 data 目录也可以查看但是如果有多个实例就会 所以在实例内操作

    2026年3月18日
    2
  • docker vscode远程调试_为什么要使用docker

    docker vscode远程调试_为什么要使用docker### 简介code server是一款开源的桌面软件vs code浏览器实现,可以让你随时随地的写代码,只要打开浏览器就可以进入到工作环境,将代码放在云端十分方便。### 安装流程只需要在docker环境下安装即可,输入如下命令安装即可,第一次安装会慢一点。dockerrun-itd–namemycode-p8081:8080-v/data/mycode:/home/coder/project-uroot-ePASSWORD=123

    2022年8月14日
    11

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号