MySQLやPostgreSQL、MongoDBなど複数種類のデータベースを扱う際、個別に専用ツールを用意するのは面倒です。そこで、SQLとNoSQLを共通画面から操作でき、Windows・Linux・Macやブラウザから利用可能なデータベースマネージャー「DbGate」が公開されています。

SQL & noSQL database manager - DbGate

https://www.dbgate.io/ja/



dbgate/dbgate: Database manager for MySQL, PostgreSQL, SQL Server, MongoDB, SQLite and others. Runs under Windows, Linux, Mac or as web application

https://github.com/dbgate/dbgate

dbgate/dbgate - Docker Image

https://hub.docker.com/r/dbgate/dbgate

◆DbGateの利用方法

・MySQLに接続

Docker版DbGateを利用し、同じサーバー内のDockerコンテナとして起動しているデータベースに接続する場合の操作方法となります。

ブラウザを起動しDbGateのURLにアクセス後、「New Connection」フォームの「Connection type」から「MySQL」を選択、「Connection mode」で「Host and port」を選択、「Server」にコンテナのサービス名を指定、「User」にユーザー名、「Password」にパスワード、「Display name」に任意の名前を入力し「Connect」をクリック。



・テーブルの閲覧

CONNECTIONSにMySQLが追加されデータベースの一覧が表示されるので、その中から「demo」をクリック。



demoデータベース内のテーブル一覧が表示されるので「users」をクリックすると右側にテーブル内容が表示されます。



・データの編集

セルをダブルクリックすると編集モードになり直接書き換えが可能。



・SQLを直接実行

サイドメニューの「+」アイコンをクリックし、表示される機能一覧から「Query」をクリック。



Queryを入力するタブが表示されるのでSQLを入力し「Execute」をクリック。



SQLが実行され「Messages」タブに実行ログが表示されます。



・PostgreSQLを追加

MySQLと同様の手順でPostgreSQLを追加するとCONNECTIONSに追加されます。



・MongoDBを追加

MySQLやPostgreSQLは、あらかじめ列やデータ型などの構造を定義したテーブルにデータを保存するSQLデータベースですが、MongoDBはJSONのオブジェクトのようなドキュメント形式でデータを保存するNoSQLデータベースです。New ConnectionでCONNECTIONSに追加後、データベース「demo」をクリックし、「USERS」テーブルをクリックすると保存されているデータがJSON形式で確認できます。



このように1つのデータベース管理画面から複数のデータベースに接続でき、SQLデータベースとNoSQLデータベースをまとめて管理できます。

なお、無料のCommunity版では1ユーザーのみでの利用が可能で、有料のPremium版ではQuery Designerやチャート・AI機能・データベースのバックアップ・復元などの機能が追加されるほか、Team Premium版では2ユーザー以上での利用に対応し、ユーザー管理やロール・権限設定・外部IDプロバイダーによる認証などチーム向けの管理機能も利用できます。

◆DbGateをDockerで構築する方法

今回はWindowsにDocker DesktopとGit for WindowsのGit Bashを用意した環境で構築します。作業フォルダーで以下の内容のdocker-compose.ymlを作成。


services:
dbgate:
image: dbgate/dbgate
restart: unless-stopped
ports:
- "3000:3000"
environment:
LOGIN: 【ユーザー名】
PASSWORD: 【任意のパスワード】
volumes:
- dbgate-data:/root/.dbgate

volumes:
dbgate-data:


コンテナを起動します。


docker compose up -d


ブラウザで「http://localhost:3000」にアクセスするとログインフォームが表示されるので「Username」に設定したユーザー名、「Password」にパスワードを入力して「Log In」をクリック。



接続一覧画面が表示されれば構築完了です。