2024年6月5日水曜日

Dbeaver を docker で動かして MySQL に接続してみる

Dbeaver を docker で動かして MySQL に接続してみる

概要

dbeaver はいろいろなデータベースに対応したクライアントツールでテーブルの一覧や好きな SQL を発行することができます
phpMyAdmin の代替として使えます

基本はマシン上で動作するクライアントアプリですが今回は docker 上で動かしてみました

環境

  • Ubuntu 22.04
  • docker 26.1.1
  • dbeaver 24.1.0
  • MySQL 8.0.36

起動

以下のコマンド一発です
起動すると 8080 ポートで起動します
エンタープライズエディションもありますがアクティベーションキーが必要になるのでコミュニティエディションを使います

  • docker run --name cloudbeaver-ee --rm -ti -p 8080:8978 -v $(pwd):/opt/cloudbeaver/workspace dbeaver/cloudbeaver:latest

cbadmin ユーザのパスワードを設定

起動するとまず初期設定をします
必ず設定しなければいけないのは管理者のパスワードです
パスワードにはポリシーがあるのでそれに沿ったパスワードにしましょう

MySQL のコネクタを作成する

管理者のパスワードを設定すると次にコネクションテンプレートというテンプレートを作成する画面になりますがそこはスルーして一度トップ画面に戻ります
そして上部のプラスボタンからコネクションを作成します

テンプレートを作成しない理由としては本当はテンプレートからコネクションを作成できるボタンがあるのですがコミュニティエディションだとそれがなかったのでテンプレートを作成する意味がないからです

いろいろなデータベースコネクタがあるので MySQL を選択します

データベースの情報を入力する

次に接続先のデータベースの情報を入力します
今回は docker 上で動作させているので localhost だとコンテナにアクセスしに行ってしまうので基本は IP や FQDN を入力することになります

IP で接続できない場合は

MySQL はデフォルトだと localhost からのみアクセスできるようになっています
今回は docker 上のコンテナの IP (ex 172.17.0.2) からのアクセスになるのでその IP からのアクセスを許可します

こちらを参考に特定の IP からでもアクセスできるユーザを作成します

Public Key Retrieval is not allowed

接続テストをした際に「Public Key Retrieval is not allowed」エラーが出る場合にはドライバの設定を変更します

DRIVER PROPERTIES タブを選択し「allowPublicKeyRetrieval」を TRUE に設定します

これで再度右上の「Test」をクリックして接続テストしてください

動作確認

コネクションが作成できたらデータベースやテーブルの一覧が表示できることを確認しましょう

よくわからないのですがコネクション作成時にデータベースを指定してもすべてのデータベース情報を取得するようです

最後に

Dbeaver を docker で動かしてみました
コミュニティエディションなので一部機能が使えなかったりするようです
閲覧するだけならこれで十分かなと思います
またダークモードや好きな SQL を発行する機能もあるので便利です

MySQL の Web クライアントで phpMyAdmin の代替になりそうなツールとして他にも ILLA Builder というツールを紹介しています

Dbeaver 自体は Java で書かれています

参考サイト

0 件のコメント:

コメントを投稿