今天接着上一篇的內容繼續來學習安裝運行mysql。建議先閱讀第一篇:windows安裝dockerjava
若是想知道mysql鏡像具體有哪幾個版本,須要去docker hub查看。mysql
地址以下: https://hub.docker.com/r/libr...sql
命令以下:docker
docker pull 鏡像名稱:版本號
打開命令窗口輸入數據庫
docker pull mysql:8.0
等待幾分鐘就完成了,而後輸入如下命令查看鏡像segmentfault
docker images
命令以下:windows
docker run --name mysql8.0 -e MYSQL_ROOT_PASSWORD=123456 -d -p 23306:3306 mysql:8.0
解釋一下上面的命令的具體含義bash
docker run // 啓動容器 --name mysql8.0 // 指定容器名稱爲mysql8.0 -e MYSQL_ROOT_PASSWORD=123456 // 配置環境變量,指定root用戶的密碼爲123456 -d // 是否後臺啓動,默認false -p 23306:3306 // 將3306端口映射出來爲23306進行訪問 mysql:8.0 // 鏡像名稱
第三步完成後一個docker容器就算起來了,咱們用客戶端鏈接數據庫發現報錯了。服務器
主要緣由是mysql服務器要求的認證插件版本與客戶端不一致形成的。 學習
使用命令 docker exec -it mysql8.0 /bin/bash 進入容器,而後登陸mysql服務,命令以下:mysql -uroot -p 123456,登陸成功後,use mysql ,使用sqlselect user,plugin from user 查看認證插件。
能夠看到root用戶使用的plugin是caching_sha2_password,mysql官方網站有以下說明:
意思是說caching_sha2_password是8.0默認的認證插件,必須使用支持此插件的客戶端版本。兩種方式一種是升級客戶端,另外一種是修改插件認證爲 mysql_native_password,咱們看一下第二種。
// 第一:修改root的密碼爲'root',摒棄原來的舊密碼。第二:使用mysql_native_password對新密碼進行編碼。 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root'; // 刷新權限 FLUSH PRIVILEGES;
這樣就完成了,客戶端能夠正常登陸。
1.docker images // 查看鏡像 2.docker run 鏡像名稱 // 生成一個正在運行的容器實例 3.docker stop 容器名稱 // 中止容器 4.docker rm 容器名稱 // 刪除容器 5.docker start 容器名稱 // 啓動容器 6.docker restart 容器名稱 //重啓容器 7.docker rmi 鏡像名稱 // 刪除鏡像 8.docker exec -it 容器名稱 /bin/bash // 進入容器 9.docker ps // 顯示正在運行的全部容器 10.docker ps -a // 顯示全部容器(包括已經中止的) 11.docker pull 鏡像名稱:版本號 // 拉取鏡像
若是文章對您有幫助,請記得點贊關注喲~ 歡迎你們關注個人公衆號<情繫IT>,每日推送技術文章供你們學習參考。