首先我先膜拜一下Docker 這技術真的太牛逼了
Client does not support authentication protocol requested by server; consider upgrading MySQL client
一、先給大家貼一下我們報錯信息
二、下載 mysql5.8 的鏡像文件
// 下載
docker pull mysql; 8. 0
/ / 查詢一下是否成功下載鏡像
docker images
三、啓動鏡像文件
// 啓動
docker run - d - p 10235:3306 -- name Mysql - v / home/ mysql/ conf:/ etc/ mysql/ conf. d - v / home/ mysql/ data :/ var / lib/ mysql - e MSYQL_ROOT_PASSWORD=liu564580134 mysql:8. 0
/ / 解釋:
- d: 後臺運行
-- name: 給個名字標識
- v: 數據卷掛載(雲服務器文件路徑:鏡像文件路徑)
- e MSYQL_ROOT_PASSWORD: 設置密碼
- p: 暴露端口( 服務器對外端口:鏡像端口)
3.1、查看是否啓動成功
docker ps
四、Navicat鏈接試試:
五、解決:
grant all PRIVILEGES on * . * to root@'%' WITH GRANT OPTION;
ALTER user 'root' @'%' IDENTIFIED BY '你的密碼' PASSWORD EXPIRE NEVER;
ALTER user 'root' @'%' IDENTIFIED WITH mysql_native_password BY '你的密碼' ;
FLUSH PRIVILEGES;
六、再次鏈接
七、將修改後的mysql5.8鏡像重新保存一份以後留着備用
docker commit - m="自己修改的鏈接密碼和鏈接限制" - a="liurunyong<[email protected] >" 1686cd36f0c9 mysqlme:8. 0
docker commit - m="提示信息" - a="作者" 運行的容器id 目標容器名稱:版本號
至此解決問題 如有不對的地方請路過的大佬指導留備、如果幫到您請幫我點贊,感謝各位大佬,我依舊努力更新。