docker安裝MySQL8.0.23

語言: CN / TW / HK

docker安裝MySQL8.0.23

1下載安裝

第一步:在hub.docker.com上搜索mysql鏡像

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-HJhpNt0J-1623762282804)(C:\Users\沉思\AppData\Roaming\Typora\typora-user-images\1623761017622.png)]

在這裏插入圖片描述

第二步:拉取指定版本的mysql [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-kze5QH1w-1623762282806)(C:\Users\沉思\AppData\Roaming\Typora\typora-user-images\1623761038347.png)]

也可以指定拉取版本,例如:

sudo docker pull mysql:8.0.23

第三步:檢查mysql鏡像

sudo docker images

第四步:啟動運行mysql鏡像 (docker run 用於啟動一個容器)

sudo docker run -p 3306:3306 --name mysql \ -v /usr/local/docker/mysql/mysql-files:/var/lib/mysql-files \ -v /usr/local/docker/mysql/conf:/etc/mysql \ -v /usr/local/docker/mysql/logs:/var/log/mysql \ -v /usr/local/docker/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:8.0.23

假如安裝過程中失敗了,則可通過docker ps -a 查看以前的容器,假如已存在,則通過docker rm 鏡像id 刪除再重新安裝即可。

第五步:停止mysql服務(可選)

執行完第四個步驟(啟動運行mysql鏡像),mysql就會自動啟動了,假如需要停止這個

服務可以執行:

docker stop mysql

第六步:啟動mysql服務

假如mysql服務沒有啟動運行,但是mysql容器是存在的,可以通過如下方式啟動mysql。

docker start mysql

假如希望查看mysql啟動時的日誌,可以執行 docker container logs mysql 這個指令。

第七步:查看docker啟動的服務

docker ps

第八步:進入容器 (退出容器用exit)

sudo docker exec -it mysql bash

第九步:登陸(默認密碼root),一定要先進入mysql容器。

mysql -uroot -proot

第十步:設置mysql開機自啟動(可選)

docker update mysql --restart=always

如何重啟mysql服務?

docker restart mysql

查看MySQL安裝到哪了?

whereis mysql

連接MySQL時要注意

第一步:關閉linux宿主機的防火牆 (假如直擊連接),命令忘了可以通過搜索引擎查。

sudo systemctl stop firewalld.service

第二步:重啟docker

sudo systemctl restart docker

第三步:啟動mysql

docker start mysql

2Navacat連接MySQL

連接mysql如果遇到以下問題可以這樣解決

問題描述:

1251-client does not support authentication protocol requesred by server;consider upgrading MySQL Client [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-vVXDdB4x-1623762282808)(C:\Users\沉思\AppData\Roaming\Typora\typora-user-images\1623761786291.png)]

解決辦法:

(1)mysql容器內部

sudo docker exec -it mysql bash

(2)進入mysql

mysql -u root -p root

輸入密碼 root

(3)使用mysql數據庫

use user

(4)查看用户信息

select host,user,plugin,authentication_string from mysql.user; [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-lQljScdw-1623762282811)(C:\Users\沉思\AppData\Roaming\Typora\typora-user-images\1623762060164.png)]

備註:host為 % 表示不限制ip localhost表示本機使用 plugin非mysql_native_password 則需要修改密碼

(5)修改用户密碼

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

(6)更新user為root,host為% 的密碼為123456

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

更新user為root,host為localhost 的密碼為123456

(7)再次連接即可成功 [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-MKzOX3RF-1623762282812)(C:\Users\沉思\AppData\Roaming\Typora\typora-user-images\1623762205556.png)]