zoukankan      html  css  js  c++  java
  • docker+mysql 更改配置后重启不了的解决方案

    docker+mysql 更改配置后重启不了的解决方案


    前提:在最近的项目中,决定将项目改造成数据库读写分离的架构,于是擅自更改生产环境的数据库的配置文件my.cnf,由于我是用docker进行部署的,执行docker restart mysql后发现没有起来,执行docker logs -f --tail 10 your-mysql,出现如下的错误:

    这里我提一句,docker restart mysql基本不会造成数据丢失(高并发场景下除外)。不慌,既然配置文件出错了,那我改过来就好了,于是我执行docker exec -it mysql /bin/bash准备先进入容器再更改配置,发现 进不去!!,因为exec命令只适用于正在运行的容器。

    内心慌的一批呀!!!

    好在及时查找了相关资料,顺利将数据库重新启动。

    解决方式

    方式一

    在当前主机中存放了docker容器中的配置信息(一般默认目录是:/var/lib/docker/overlay/),那只要找到这个配置文件,修改后就可以重新启动了

    方式二

    使用docker cp命令,把docker容器中的配置文件复制到主机中来,然后修改完后再复制到docker容器中去,就可以了

    具体操作

    经过实操,方式一的方式可能会比较麻烦,这里只介绍方式二。

    1、将docker容器内的文件拷贝至宿主机中

    docker cp mysql:/etc/mysql/my.cnf .
    

    注:.代表是当前目录,我操作时当前目录是/opt

    2、vim修改配置文件中出错的地方,重新修改回来

    3、复制修改后的配置文件到docker容器中去

    docker cp my.cnf mysql:/etc/mysql/my.cnf
    

    4、重启容器实例

    docker restart db002
    

    最后成功启动!!

  • 相关阅读:
    shell 读取文件内容 不以空格换行 再把每行的字符串切分取一部分
    Linux中basename和dirname命令的妙用
    Martiancloud 无注册中心微服务
    spring security自动续签功能
    访问c++类的私有成员
    Ubuntu 安装 docker 及 镜像加速
    谷歌浏览器表单自动填充颜色修改(antd)
    关于复制粘贴失效解决办法
    常见的HTTP状态码(HTTP Status Code)
    Linux 环境安装 MySQL
  • 原文地址:https://www.cnblogs.com/tian874540961/p/12133469.html
Copyright © 2011-2022 走看看