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

最后成功啟動!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM