1. 程式人生 > 資料庫 >docker 修改mysql配置導致 mysql容器啟動失敗解決辦法

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/ ,重新啟動即可