ここ数年、お仕事的にVPS上に構築したLEMP構成の物を触る事が多くなっています。
また、一般のレンサバ上に構築したシステムとかもあり、そちらもLAMPだったりLEMPだったり。
※LAMP:Linux、Apache、MySQL、PHP
※LEMP:Linux、Nginx(エンジンXなのでEngine-Xって事らしい)、MySQL(最近はMariaDB)、PHP
環境は様々でもDB操作は必須になるわけですが……
サイトの管理画面からPhpMyAdmin等で操作する、って事もありますが、やはり専用ツールを使う方が楽なので、ツール経由での操作を行います。
操作用のツールも色々あるわけですが、最近私的に気に入ってるのがDBeaver Communityです。
Javaベースと言う事もあり、Windowsのみならず、MacやLinuxにも提供されています。
加えてEclipse用のPluginも用意されていたり。
サーバーサイドJavaやら、Androidアプリ制作の初期の頃にはEclipseも使ってましたが、LAMPとかやりだしてからはRADツール使ってないですね……
軽量なテキストエディタが正義(w
そのDBeaverですが、無償のCommunityと、有償のLite・Enterprise・Ultimateが用意されています。
無償のCommunity版でも十分な機能を持っているので、普通はCommunity版で良い感じです。
NoSQL扱いたい、とかAWS上のデータを手軽に扱いたい、とかになった際に有償版を検討する感じですね。
DBeaver CommunityはApache 2.0のオープンソースで提供されており、GitHubにて管理されています。
なお、Copyrightsとしては KISS project の表記がされています。
無償版でも十分過ぎる
DBeaver Community を起動すると、スプラッシュ画面を経て操作ウィンドウが表示されます。
起動時にバージョンチェックが行われ、新しいバージョンがある場合は通知にてアップデートするかどうかの確認もあるので便利ですね。
接続先情報は画面左ペインにツリー状に表示されます。
接続先の設定作成はウィザード形式でも行えるので、この手の設定に不慣れな人でも割りと簡単に操作できると思います。
データベース接続に際し、最初に接続先のDB種別を選択します。
一般的に使用されているDBは、ほぼ網羅されているようです。
ODBCも使用可能なので、ODBC経由でMicrosoft Accessに接続、なんて事も可能です。
接続先のサーバー情報。
レンサバの場合は、レンサバの管理画面等で情報確認しつつ入力しますが、共有プランだと外部からのアクセスを許可していない場合が多いので、ここにサーバーIPを入れて接続しようとしても接続が拒否されます。
そこでSSHトンネリングを使用しての接続。
レンサバでもVPSでも同じですが、SSH接続用の情報をこちらに入力して、SSH経由でのDB接続を行います。
SSH経由で接続するので、先程の一般設定でのサーバーIPはlocalhostになります。
セキュリティ対策的な意味でも、SSH接続する際は公開鍵認証方式で行いましょう。(可能であればポートも変更。)
DBに接続できると、左ペインにテーブルの一覧がツリー状に表示されます。
テーブルを選べば、レコードをExcel入力的な感覚で編集可能です。
削除した行は赤背景になりますが、この時点では未だ取り消しが可能です。
保存を選んだ時点で実際にDBに操作が行われ、レコードが削除されます。
SQLエディタも用意されており、直接SQL構文を入力しての操作も可能。
私的にはSQLエディタを多用しますね。
入力の際には補完機能が働くので、カラム名の打ち間違い等も極力減らす事が出来ます。
ER図を表示する事も可能なので、実際にテーブルを作成した後でER図を作成し、それを切り貼りして資料作成、なんて事も……
実際の業務で DBeaver Community を使用していますが、かなり使い勝手が良いですね。
- 対応DBとして一般的に使用されているDBが網羅されているので、これ1つで事足りる
- マルチOS対応なのでWindows以外で使用しても同じ感覚で使用できる
- 多言語対応で日本語表記もバッチリ←ここ割りと重要。
- 動作が軽快
一覧に書き出してみると、そういうの他にもあるでしょ、って感じになるのですが、ここまで全部満たしてるものとなると意外と見つからないんですよね。
勿論、欠点も無いわけではありません。
少し古いシステムで日付型の最小値に 0000年00月00日 なんてのが格納されているものもあるのですが、エクスポートでSQL構文として吐き出した物の、SQL流そうとすると型の範囲から外れているのでエラーが発生したり。
でも同じSQLをサーバー側でPhpMyAdmin使って流すと問題なく実行出来るんですよね。
厳密になってるだけなのですが、これから新たに作る物は兎も角、古いシステムを扱う際には既存データなので、弾かれてると困ってしまうんですよね。
まぁ、SQL構文形式でのインポートはPhpMyAdminでやれば回避可能なので微々たる問題ではあるのですが……
いずれにしろ、これだけのツールが無償で使えるって本当に凄いことです。
最早DB操作するのに欠かせない 魔法のツール、それが DBeaver Community。
開発に参加されている方たちへの感謝も忘れずに……。
-
購入金額
0円
-
購入日
2020年03月10日
-
購入場所
DBeaver公式サイト
ZIGSOWにログインするとコメントやこのアイテムを持っているユーザー全員に質問できます。