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

最后成功启动!!

最新文章

  1. 通过ios实现RSA加密和解密
  2. [转](二)unity4.6Ugui中文教程文档-------概要-UGUI Canvas
  3. IE代理文件自动设置
  4. 近期十大优秀jQuery插件推荐
  5. Visual C++2010开发权威指南 中文高清PDF - VC.NET
  6. php 对象调用方法
  7. XSS传染基础——JavaScript中的opener、iframe
  8. JDK5-可变参数
  9. ubuntu安装kvm流程
  10. 【转】Win7与Ubuntu 14.04双系统修改启动项顺序
  11. poj3294 --Life Forms
  12. C# 系统应用之清除Cookies、IE临时文件、历史记录 转载
  13. FineBI如何在web页面中嵌入式集成
  14. 如何使用webpack优化首屏渲染时间
  15. PHP 第3方评论系统
  16. [BZOJ4291] [PA2015] Kieszonkowe
  17. [自用]多项式类数学相关(定理&证明&板子)
  18. 详解EBS接口开发之供应商导入
  19. DSO安装试运行
  20. oracle orion hugepages_settings.sh(支持OEL 7,4.1内核)

热门文章

  1. H3C 帧中继协议栈
  2. JPA进行insert操作时会首先select吗
  3. 深度解读 - TDD(测试驱动开发)
  4. 【t050】方程求解
  5. Vue中的computed和watch
  6. Python中&、^与and、or
  7. TOJ4587:抓苹果(DP)
  8. 【u034】追查坏奶牛
  9. IntPtr、Struct 相互转换
  10. Python 序列求和