docker連接mysql失敗怎么辦

docker連接mysql失敗的解決辦法:1、通過“docker ps”命令查看正在運(yùn)行的容器;2、運(yùn)行“docker exec -it b30062adc08c /bin/bash”進(jìn)入mysql容器;3、輸入“mysql -u root -p”命令;4、重啟mysql,再使用navicat連接即可成功。

docker連接mysql失敗怎么辦

本教程操作環(huán)境:linux7.3系統(tǒng)、docker19.03版、Dell G3電腦。

docker連接mysql失敗怎么辦?

連接docker里面的mysql失敗解決方法

場景:在虛擬機(jī)的docker容器中安裝latest版本的mysql之后,在宿主機(jī)中使用navicat連接虛擬機(jī)中的mysql出現(xiàn)下圖報錯:

docker連接mysql失敗怎么辦

2059 : Authentication plugin ‘caching_sha2_password’ cannot be loaded:

解決辦法:

1、首先docker ps命令查看正在運(yùn)行的容器,確保我們想要連接的mysql已經(jīng)啟動,如果沒啟動使用docker start命令啟動(下圖查看結(jié)果表示已經(jīng)啟動了一個mysql)

docker連接mysql失敗怎么辦

2、接著運(yùn)行docker exec -it b30062adc08c /bin/bash進(jìn)入mysql容器

docker連接mysql失敗怎么辦

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

ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;

docker連接mysql失敗怎么辦

4、最后重啟mysql再使用navicat連接即可成功

docker連接mysql失敗怎么辦

補(bǔ)充知識: 本地遠(yuǎn)程連接Docker中的MySQL報錯的解決辦法(1251)

錯誤如下:

docker連接mysql失敗怎么辦

原因:mysql 8.0 默認(rèn)使用 caching_sha2_password 身份驗(yàn)證機(jī)制;客戶端不支持新的加密方式

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

1.進(jìn)入mysql容器內(nèi)部,在docker中輸入

docker exec -it mysql02 bash

docker連接mysql失敗怎么辦

2.登錄mysql

mysql -u root -p

如圖所示輸入123456回車即可

docker連接mysql失敗怎么辦

3.設(shè)置用戶配置項(xiàng)

(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;

docker連接mysql失敗怎么辦

(4)再次使用Navicate等數(shù)據(jù)庫軟件連接,成功

docker連接mysql失敗怎么辦

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

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

推薦學(xué)習(xí):《docker視頻教程

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊14 分享