docker 修改mysql配置導致 mysql容器啟動失敗解決辦法
阿新 • • 發佈:2021-01-19
問題:
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/ ,重新啟動即可