docker連線mysql失敗怎麼辦

2022-10-21 18:01:23

docker連線mysql失敗的解決辦法:1、通過「docker ps」命令檢視正在執行的容器;2、執行「docker exec -it b30062adc08c /bin/bash」進入mysql容器;3、輸入「mysql -u root -p」命令;4、重新啟動mysql,再使用navicat連線即可成功。

千萬級資料並行如何處理?進入學習

本教學操作環境:linux7.3系統、docker19.03版、Dell G3電腦。

docker連線mysql失敗怎麼辦?

連線docker裡面的mysql失敗解決方法

場景:在虛擬機器器的docker容器中安裝latest版本的mysql之後,在宿主機中使用navicat連線虛擬機器器中的mysql出現下圖報錯:

331481eb0ce935f862427da81ebcdcb.jpg

2059 : Authentication plugin ‘caching_sha2_password' cannot be loaded:

解決辦法:

1、首先docker ps命令檢視正在執行的容器,確保我們想要連線的mysql已經啟動,如果沒啟動使用docker start命令啟動(下圖檢視結果表示已經啟動了一個mysql)

3c6c04d80d0d6cf237a392dd64822a5.jpg

2、接著執行docker exec -it b30062adc08c /bin/bash進入mysql容器

5bfbfcee6526c8bc6651dc301ab39d9.jpg

3、再接著輸入mysql -u root -p命令,然後輸入自己的密碼,最後輸入更新密碼語句:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

942d8647e3b9e6aad9d2af708efeb87.jpg

4、最後重新啟動mysql再使用navicat連線即可成功

9b8e1613bb486535a95d2572a8af594.jpg

補充知識: 本地遠端連線Docker中的MySQL報錯的解決辦法(1251)

錯誤如下:

427f3fa419360db8b74d0290b4d524a.jpg

原因:mysql 8.0 預設使用 caching_sha2_password 身份驗證機制;使用者端不支援新的加密方式

解決方案:修改使用者(root)的加密方式

1.進入mysql容器內部,在docker中輸入

docker exec -it mysql02 bash

7a30ad6385137e0b10834846a1b2f1e.jpg

2.登入mysql

mysql -u root -p

如圖所示輸入123456回車即可

fedae71df6bff0a83c8eb28429a8a6e.jpg

3.設定使用者設定項

(1)檢視使用者資訊

select host,user,plugin,authentication_string from mysql.user;

(2)修改加密方式

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; //123456是mysql的登入密碼

(3)再次檢視使用者資訊

select host,user,plugin,authentication_string from mysql.user;

af5dcfae46dcef94e0c36b357156570.jpg

(4)再次使用Navicate等資料庫軟體連線,成功

c4d9ae0a0e9e38265b78af91c6bb5b0.jpg

(5)補充:如果要正常退出不關閉容器,可以通過按Ctrl+P+Q進行退出容器

從mysql中退出容器:Ctrl+D,按兩次

推薦學習:《》

以上就是docker連線mysql失敗怎麼辦的詳細內容,更多請關注TW511.COM其它相關文章!