Docker入門(四)——MySQL鏡像中的數據庫可視化


  在詳細介紹這篇文章的內容前,需要說明下筆者寫這篇文章的意圖:筆者在現有的開發中,前后端聯調的方式為Docker鏡像對接,數據庫使用MySQL鏡像,開發環境為遠程服務器,因此,筆者迫切需要一種能將遠程服務器端的MySQL鏡像中的數據庫進行可視化。

如何使用MySQL鏡像?

  利用docker search mysql命令可以搜索關於MySQL的Docker鏡像,利用docker pull mysql:5.7.26命令可以拉取MySQL的版本號為5.7.26的Docker鏡像。本文以該鏡像作為MySQL的演示鏡像。
  拉取MySQL5.7.26鏡像后,利用docker images | grep mysql可以查看拉取的MySQL鏡像的信息,如下:

$ docker images | grep mysql
mysql    5.7.26    a1aa4f76fab9    3 weeks ago    373MB

  接着啟動該鏡像,啟動的命令如下:

docker run -p 3307:3306 -e MYSQL_ROOT_PASSWORD=jclian91 -v $HOME/mysql_data:/var/lib/mysql --name jclian91-mysql -d mysql:5.7.26

參數解釋如下:

  • -p: 表示端口映射,將宿主的3307端口映射到容器的3306端口;
  • -e: 表示傳入的環境變量參數,這里設置MySQL的root賬戶的密碼為jclian91;
  • -v: 表示數據卷的掛載,這里將宿主的HOME目錄下的mysql_data掛載到容器的/var/lib/mysql目錄;
  • name表示容器的名稱;
  • -d: 表示容器在后台啟動;
  • mysql:5.7.26表示啟動的鏡像。

  利用docker ps可以查看這個運行的docker鏡像,如下:

CONTAINER ID    IMAGE    COMMAND    CREATED    STATUS    PORTS    NAMES
fdb9e8d40ffb    mysql:5.7.26    "docker-entrypoint.s…"    3 seconds ago  
  Up 2 seconds    33060/tcp, 0.0.0.0:3307->3306/tcp    jclian91-mysql

  利用命令docker exec -it fdb9e8d40ffb bash可以進入該容器內部進行操作,其中fdb9e8d40ffb為該容器的ID號。進入該容器后,輸入命令mysql -u root -p,再輸入密碼jclian91,即可進行MySQL操作了。筆者在MySQL中,創建了test數據庫,同時創建了EMPLOYEE表,如下:

本地MySQL鏡像中的數據庫可視化

  MySQL的可視化工具,筆者選擇DBeaver,后續會詳細介紹。
  DBeaver的連接信息如下:

  連接成功后,輸入以下查詢命令,結果顯示如下:

遠程服務器MySQL鏡像中的數據庫可視化

  對於遠程服務器,操作的步驟稍稍麻煩些,但也只是增加端口轉發這一步。
  遠程服務器的MySQL鏡像如下:

$ docker ps | grep mysql
a04b21ffb91a    mysql:5.7.26    "docker-entrypoint..."    2 hours ago    Up 2 hours    33060/tcp, 0.0.0.0:3307->3306/tcp                                      deploy_test_event_20_mysql_1
$ docker port a04b21ffb91a
3306/tcp -> 0.0.0.0:3307

  此時我們通過以下命令將服務器的端口打洞到本地(具體的打洞方式因不同的服務器登陸方式而異):

ssh -f -t  -p 22 ***@ip1 -NL 3307:ip2:3307

  這時,可以用DBeaver實現可視化,但端口切換為3307。

一款數據庫可視化工具利器——DBeaver

  DBeaver是需要java語言支持的一款數據庫軟件(需要電腦上安裝有JDK的環境)。DBeaver是免費和開源(GPL)為開發人員和數據庫管理員通用數據庫工具。它支持任何具有一個JDBC驅動程序數據庫,筆者強烈推薦這款數據庫可視化工具。因為,在使用MySQL可視化工具中,Navicat試用期只有14天,過期后得收費,其他如phpMyAdmin,MySQL Workbench等安裝較為麻煩。
  DBeaver的下載網址為:https://dbeaver.io/download/,它支持常規的關系型數據庫,如MySQL,SQL server,Oracle等,支持非關系型數據庫,如MongoDB,Redis等,支持Hadoop生態圈系統的數據庫,如Spark,Impala,Hive等,支持全文檢索數據庫,如ElasticSearch,Solr,還支持圖數據庫Neo4j,OrientDB等。

總結

  本文介紹了MySQL鏡像的使用方法以及一款簡單好用的數據庫可視化工具利器——DBeaver,希望能對讀者有所幫助~


免責聲明!

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



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