docker安裝MySQL8.0.23
docker安裝MySQL8.0.23
1下載安裝
第一步:在hub.docker.com上搜索mysql鏡像
第二步:拉取指定版本的mysql
也可以指定拉取版本,例如:
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
解決辦法:
(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;
備註: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)再次連接即可成功