Docker 安裝MySql caching_sha2_password 異常解決

1 Docker 安裝 封裝MySQL

mysql image
安裝mysql鏡像

docker pull mysql 

創(chuàng)建一個(gè)新的容器

docker run -p 3307:3306 --name mysql_1 -e MYSQL_ROOT_PASSWORD=123456 -d mysql

-p設(shè)置端口 原本裝有MYSQL所以3306被占用,我們把暴露的接口設(shè)置為3307
--name是鏡像的名稱
-e 代表配置的參數(shù)
MYSQL_ROOT_PASSWORD=123456 將root密碼設(shè)置為123456


2 MySql問題解決

使用工具連接數(shù)據(jù)庫出現(xiàn)錯(cuò)誤
MySQL said: Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/lib/plugin/caching_sha2_password.so, 2): image not found
執(zhí)行命令進(jìn)入docker環(huán)境

docker exec -it mysql_1 bash

輸入命令和密碼 進(jìn)入mysql

mysql -u root -p

切換數(shù)據(jù)庫

use mysql;

查詢

select host,user,plugin from user where user='root';

更新密碼
這里注意兩點(diǎn):
1:網(wǎng)上查的很多其他資料都是的user值都是:'root'@'localhost' 但是我親測這樣修改依然無法連接,將user值改為: 'root' 后才能正常連接。
2:用你自己的數(shù)據(jù)庫密碼替換 123456 的值。

alter user 'root' identified with mysql_native_password by '123456';

生效

flush privileges;

重啟mysql_1鏡像:

docker stop mysql_1
docker start mysql_1

這時(shí)候再用數(shù)據(jù)庫連接工具就可以連接到配置好的數(shù)據(jù)庫了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容