5分鐘自建資料庫視覺化平臺,線上管理資料庫也太方便了!

語言: CN / TW / HK

作為程式設計師,我們經常會使用客戶端來管理資料庫,但是卻很少使用能管理資料庫的線上服務。今天給大家推薦一個可以線上視覺化管理資料庫的開源工具Bytebase,不僅可以方便地管理資料庫,還支援SQL稽核和備份恢復,總之功能非常強大!

SpringBoot實戰電商專案mall(60k+star)地址:https://github.com/macrozheng/mall

Bytebase簡介

Bytebase是一款面向開發者的資料庫變更管理工具,目前在Github上已有3.6K+Star。

它的主要特性如下:

  • SQL稽核:具有一站式SQL稽核面板,可以直觀地看到資料庫所有變更記錄。
  • SQL建議:能自動檢查SQL語句規範,額外提供GitHub Action和API接入方式。
  • SQL編輯器:可以線上管理及檢視資料庫表,支援語法的自動提示。
  • GitOps工作流:支援整合GitHub和GitLab,使用GitOps工作流進行資料庫變更。
  • 備份恢復:支援自動備份資料庫及恢復資料。

下面是使用Bytebase操作資料庫的效果,提示還是挺全的。

安裝

首先我們將在Linux下安裝Bytebase,使用Docker來安裝無疑是最方便的。

  • 由於ByteBase對MySQL8的支援比較好,這裡推薦安裝MySQL8,首先下載MySQL8的Docker映象;

bash docker pull mysql:8

  • 再使用如下命令執行MySQL8的容器;

bash docker run -p 3506:3306 --name mysql8 \ -v /mydata/mysql8/mysql-files:/var/lib/mysql-files \ -v /mydata/mysql8/conf:/etc/mysql \ -v /mydata/mysql8/log:/var/log/mysql \ -v /mydata/mysql8/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:8

  • 然後使用如下命令下載Bytebase的Docker映象

bash docker pull bytebase/bytebase:1.3.1

  • 下載成功後,使用如下命令執行ByteBase容器;

bash docker run --init \ --name bytebase \ --restart always \ --add-host host.docker.internal:192.168.3.105 \ --publish 5678:5678 \ --health-cmd "curl --fail http://localhost:5678/healthz || exit 1" \ --health-interval 5m \ --health-timeout 60s \ --volume /mydata/bytebase/data:/var/opt/bytebase \ -d bytebase/bytebase:1.3.1 \ --data /var/opt/bytebase \ --host http://localhost \ --port 5678

  • 執行成功後伺服器將顯示如下資訊;

  • 首次執行成功後,需要設定管理員賬號,訪問地址:http://192.168.3.105:5678

使用

Bytebase不僅支援線上管理資料庫,還支援一系列資料庫運維操作,下面我們來介紹下它的常用功能。

成員

  • 我們一般不會直接使用管理員賬號來操作Bytebase,我們可以通過設定->成員功能來新增成員;

  • 然後通過點選成員頭像,編輯成員資訊來設定密碼,設定完成後切換到普通賬號使用。

環境

Bytebase的環境功能可用於區分不同環境下的例項,比如測試環境和生存環境,可用於設定資料庫變更是否需要人工稽核以及資料庫的自動備份策略。

例項

  • 當我們配置好環境之後,就可以在例項功能中配置資料庫例項了;

  • 輸入好資料庫連線資訊並選擇好環境後,資料庫例項就配置成功了;

  • 檢視例項詳情時,就可以看到例項中的資料庫了;

  • 點選資料庫名稱即可檢視資料庫中所有的表資訊。

專案

  • 如果我們想在Bytebase中使用SQL語句管理資料庫的話,還需要建立專案

  • 建立完成後,再把資料庫轉移到專案中去;

  • 通過這一系列操作之後就可以管理資料庫了,開啟SQL編輯器進行資料庫管理操作。

資料庫

資料庫管理

這裡演示下使用SQL編輯器操作資料庫,提示還是挺全的。

資料庫變更

  • 如果我們想進行資料庫變更,需要在專案中選擇變更Schema功能;

  • 然後輸入我們需要變更的SQL指令碼,這裡建立了一張商品表,指定好稽核人,點選建立即可提交變更;

  • 這裡由於測試環境沒有設定需要人工稽核會直接執行變更,可以通過環境設定人工稽核。

備份與恢復

在資料庫功能中,我們還可以實現自動和手動備份以及資料恢復操作。

總結

Bytebase確實是一款實用的資料庫管理及變更工具,讓我們在沒有客戶端的情況下也能方便地進行資料庫管理,它的SQL稽核功能可以避免開發人員對資料庫的誤操作。

專案地址

https://github.com/bytebase/bytebase

「其他文章」