docker部署mysql實現遠程訪問


查看Docker MySQL文檔

docker 下載
MySQL文檔地址:
https://hub.docker.com/_/mysql/

第一步,拉取MySQL鏡像

docker pull mysql # 拉取最新版mysql鏡像

之后docker會自動拉取(下載)MySQL鏡像。

拉取成功后我們查看一下:

docker images

第二步,創建並啟動一個MySQL容器

輸入以下命令:

docker run --name mysqlserver -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql
  • –name:給新創建的容器命名,此處命名為mysqlserver
  • -e:配置信息,此處配置mysql的root用戶的登陸密碼
  • -p:端口映射,表示在這個容器中使用3306端口(第二個)映射到本機的端口號也為3306(第一個)
  • -d:成功啟動容器后輸出容器的完整ID
  • 最后一個mysql指的是mysql鏡像名字

如果要建立目錄映射

duso docker run -p 3306:3306 --name mysql \
-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=123456 \
-d mysql
  • -v:主機和容器的目錄映射關系,":"前為主機目錄,之后為容器目錄

到這里我們查看容器運行狀態:

docker ps

可以看到容器的簡寫ID,容器的源鏡像,創建時間,狀態,端口映射信息,容器名字等

第三步,測試連接MySQL

  • 1、命令連接
docker exec -it  mysqlserver /bin/bash

或者

docker exec -it mysqlserver bash

docker exec:在運行的容器中執行命令
語法

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

OPTIONS說明:

  • -i :即使沒有附加也保持STDIN 打開
  • -t :分配一個偽終端
  • -d :分離模式: 在后台運行

進入mysql

mysql -h localhost -u root -p

使用navicat遠程連接

若訪問不成功請查看是否開啟遠程連接

mysql> use mysql;
mysql> select user,host from user;
host user
% root
localhost mysql.infoschema
localhost mysql.session
localhost mysql.sys
localhost root

如果host沒有% 就需要執行

8.0版本

ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密規則 ,'password'改成你的密碼
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用戶的密碼 ,'password'是你的密碼
grant all privileges  on *.* to root@'%' identified by "password";
  • password 為你新設置的密碼

刷新權限

FLUSH PRIVILEGES; 

如果連接狀態為 2003
可能造成出現的原因:

  • 網絡不通暢
  • mysql 服務未啟動
  • 防火牆未開放端口


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM