天天看點

阿裡雲ECS雲伺服器基于docker安裝mysql并且遠端連接配接1 拉取mysql鏡像2 檢視鏡像3 建立mysql容器執行個體并運作4 檢視容器執行個體6 進入mysql容器并登陸5 遠端連接配接navicat7 修改時區

  本次介紹如何在阿裡雲ECS雲伺服器中使用docker安裝最新mysql 8 并且進行遠端通路。

  前言,安裝docker:阿裡雲ECS雲伺服器安裝docker并配置阿裡雲鏡像倉庫。

文章目錄

  • 1 拉取mysql鏡像
  • 2 檢視鏡像
  • 3 建立mysql容器執行個體并運作
  • 4 檢視容器執行個體
  • 6 進入mysql容器并登陸
  • 5 遠端連接配接navicat
    • 5.1 mysql 8 遠端連接配接
  • 7 修改時區

1 拉取mysql鏡像

  該指令直接拉取最新mysql鏡像。

docker pull mysql
           

  如果想要指定版本,那麼在官網可以找到mysql鏡像所有版本:https://hub.docker.com/_/centos,latest就表示最新版本,使用“:”分隔,在後面加上版本号即可,比如:

docker pull mysql:5.7
           
阿裡雲ECS雲伺服器基于docker安裝mysql并且遠端連接配接1 拉取mysql鏡像2 檢視鏡像3 建立mysql容器執行個體并運作4 檢視容器執行個體6 進入mysql容器并登陸5 遠端連接配接navicat7 修改時區

2 檢視鏡像

docker images
           
阿裡雲ECS雲伺服器基于docker安裝mysql并且遠端連接配接1 拉取mysql鏡像2 檢視鏡像3 建立mysql容器執行個體并運作4 檢視容器執行個體6 進入mysql容器并登陸5 遠端連接配接navicat7 修改時區

3 建立mysql容器執行個體并運作

  随後建立一個mysql容器執行個體,即可開始使用:

docker run -it --name mymysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql
           

-it :配置設定一個僞tty,一般與 -i 連用。可以省去。

–name mymysql :設定目前mysql容器執行個體名為“mymysql” ,可以自己指定。

-e MYSQL_ROOT_PASSWORD=123456 :設定目前mysql容器執行個體密碼為“123456” ,可以自己指定。

-p 3306:3306 :設定目前mysql容器執行個體端口映射,前一個是遠端通路時的端口,後一個是預設端口。

-d mysql : 表示以背景形式mysql鏡像标簽

4 檢視容器執行個體

  檢視正在運作的容器執行個體

docker ps -a
           
阿裡雲ECS雲伺服器基于docker安裝mysql并且遠端連接配接1 拉取mysql鏡像2 檢視鏡像3 建立mysql容器執行個體并運作4 檢視容器執行個體6 進入mysql容器并登陸5 遠端連接配接navicat7 修改時區

  到此,實際上一個mysql容器執行個體就建立好了并且運作起來了,相對于傳統的安裝mysql,是不是很簡單啊?

  這個mysql執行個體已經被儲存下來了,後續直接使用 docker start CONTAINER_ID 即可啟動, docker restart CONTAINER_ID即可重新開機, docker stop CONTAINER_ID。

6 進入mysql容器并登陸

  如何進入mysql容器(這一步不是必須要做的)?

  這裡的“013392c286a4 ”,表示目前容器id,可通過 docker ps -a 指令檢視。

  此時已經進入了容器,随後可以進行登陸。

mysql -uroot -p
           

  随後再輸入密碼,即可進入mysql服務中!

5 遠端連接配接navicat

  第四步完成之後即可開始連接配接。注意,遠端連接配接之前需要在安全組開放通路的端口,在上一篇文章已經講了。這裡的端口是前一個指映射的端口!

  随後直接使用navicat連接配接即可,這裡的ip使用我們的伺服器遠端ip,端口使用映射的端口,使用者名root(也可以自己建立使用者),密碼就是啟動執行個體是指定的密碼!

阿裡雲ECS雲伺服器基于docker安裝mysql并且遠端連接配接1 拉取mysql鏡像2 檢視鏡像3 建立mysql容器執行個體并運作4 檢視容器執行個體6 進入mysql容器并登陸5 遠端連接配接navicat7 修改時區

  至于代碼連接配接,則同樣非常簡單,普通設定都是一樣的!

5.1 mysql 8 遠端連接配接

  mysql 8以上預設使用的是caching_sha2_password身份驗證機制,之前用的是mysql_native_password,是以遠端連接配接可能會抛出1521、2059 等錯誤(大多是因為navicat不是最新版,而是老的盜版,最新版支援mysql 8加密方式),需要修改使用者的密碼加密校驗方式!

  進入mysql容器并登陸mysql,執行:

  這裡的password是自己指定的密碼,‘root’@’%'表示任何ip都可以連接配接。随後重新整理,即可正常遠端連接配接!

  至于遠端通路權限,預設都是授予的,是以不必設定。

7 修改時區

  mysql預設存儲時間類型的資料的時間值與系統時間總是不對應,相差8個小時。如果使用簡單的設定,那麼docker中每一次啟動mysql執行個體,設定資訊還是會被還原,是以我們這裡需要修改配置檔案,達到永久設定系統時區的功能!

  首先進入mysql容器(不需要登陸),第6點已經講了。随後進入my.cnf的目錄:

cd /etc/mysql
           

  添加一行:default-time_zone = ‘+8:00’ 配置到my.cnf末尾即可實作永久更改。

echo "default-time-zone = '+08:00'">>my.cnf
           

  在代碼的url中也可以添加serverTimezone=Asia/Shanghai參數來臨時設定時區。

繼續閱讀