docker 修改mysql配置导致 mysql容器启动失败解决办法

问题:

1. 修改了容器/etc/MysqL/my.cnf文件

2. 增加sql_mode,由于配置不正确,重启后MysqL报错,容器启动失败,如下图

 

3. 或者使用docker logs MysqL-test命令查看

解决

  win10直接使用cmd即可,使用docker cp命令把容器中的配置复制下来,然后复制一个新的my.conf替换错误文件即可

1. 首先查看容器id或names

2. 复制配置文件到本地:docker cp MysqL-test:/etc/MysqL/my.cnf e://

docker cp MysqL-test:/etc/MysqL/my.cnf e://

symlink \etc\alternatives\my.cnf e:\my.cnf: A required privilege is not held by the client.

3. 运行cmd时,使用管理员权限就可以

4. 在次复制配置文件到本地:docker cp MysqL-test:/etc/MysqL/my.cnf e://

5. 查看复制到本地的my.cnf,发现文件并没有复制成功,文件内容为空(原因:图见问题1:my.cnf是个链接文件,并且通过重新新建个MysqL容器发现MysqL.cnf和my.cnf内容一致)

6. 直接复制MysqL.cnf文件,docker cp MysqL-test:/etc/MysqL/MysqL.cnf e://

7. MysqL.conf文件复制到本地成功

8. 修改MysqL.cnf配置,为原来正确状态后保存

9. 上传MysqL.cnf到容器 ,docker cp MysqL.cnf MysqL-test:/etc/MysqL/ ,重新启动即可

10. 如果还是有问题把MysqL.cnf修改为my.cnf,上传到容器docker cp my.cnf MysqL-test:/etc/MysqL/ ,重新启动即可

 

 

 

 

相关文章

Docker是什么Docker是 Docker.Inc 公司开源的一个基于 LXC技...
本文为原创,原始地址为:http://www.cnblogs.com/fengzheng...
镜像操作列出镜像:$ sudo docker imagesREPOSITORY TAG IMA...
本文原创,原文地址为:http://www.cnblogs.com/fengzheng/p...
在 Docker 中,如果你修改了一个容器的内容并希望将这些更改...
在Docker中,--privileged 参数给予容器内的进程几乎相同的权...