-
docker search mysql 檢視mysql鏡像(是去dockerHub網站搜素鏡像,遇到問題可以去該網站檢視官方文檔,純英文文檔估計會看起來不爽^_^)
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yYwETM1QmY5ATOiVGOiJGMxAzMwkjM5MWOzYDMmFTY18CX5IzLcFTMwIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL0M3Lc9CX6MHc0RHaiojIsJye.png)
-
docker pull 鏡像名稱[:tag]
例如:
docker pull mysql:5.6 (下載下傳mysql5.6版本,不寫預設下載下傳latest版本)
我這裡下載下傳mysql官方鏡像(一般情況下載下傳官方鏡像,stars也是最多的)
-
docker images 檢視下載下傳好的鏡像
-
啟動mysql執行個體
1 2 3 4 5 6 7 | |
- docker ps -a 檢視所有容器
docker ps 檢視正在運作中的容器
-
docker exec -it mysql bash 進入容器内部 mysql 是上邊運作時為容器取的别名 也可以用id替代
|
-
mysql -u root -p 然後直接輸入密碼即可 密碼是在運作時設定的
目前為止,mysql安裝完成,然而目前隻能本機通路,我們希望是遠端能連上
-
grant all privileges on *.* to 'root'@'%' ; 給用于授予權限
GRANT ALL PRIVILEGES ON *.* ‘root’@’%’ identified by ‘123123’ WITH GRANT OPTION; 這是網上流傳較多的寫法。實際上會報錯的。
flush privileges; 重新整理權限
-
遠端連接配接mysql
然而我們用navicat還是不能連接配接mysql,提示:
1251-Client does not support authentication protocol requested by server;
由于我安裝的是8.0.16版本
mysql 8.0版本以後 預設使用 caching_sha2_password 身份驗證機制 —— 從原來的 mysql_native_password 更改為 caching_sha2_password。
從 5.7 更新 8.0 版本的不會改變現有使用者的身份驗證方法,但新使用者會預設使用新的 caching_sha2_password 。
用戶端不支援新的加密方式。
修改使用者的密碼和加密方式
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密碼';
再重新整理權限
flush privileges;
再用navica連接配接