phpMyAdminよりAdminer
PHPでMySQLやPostgreSQLと連携してプログラミングしているとき、データベースの中身をGUI環境で確認したい時ってあるかと思います。
有名なのはphpMyAdminやphpPgAdminで、非常に高機能なデータベース接続クライアントツールですが、意外と導入に手間がかかったり、有名なのでブルートフォースアタックの対象になったりします。
そこでAdminer
ですよ。
以下は公式サイトです。本体のダウンロードもこのサイトから可能です。(サイトは英語)
Adminerは導入が超簡単
phpMyAdminやphpPgAdminは相当な数のファイルがありますが、Adminerのファイルは1つだけです。
ポンっと1つのファイルを置くだけで使えます。面倒なインストール作業も必要なしです(システムにドライバの導入は別途必要)。
ファイル名は何でも良いので自由に変えて大丈夫です。つまりこんなコマンド一発で設置完了ですよ。(パブリックスペースを/var/www/html/にしている場合)
wget https://www.adminer.org/static/download/4.2.4/adminer-4.2.4.php -o /var/www/html/adminer.php
楽勝でしょ。
いろいろデータベース対応
しかも1つのファイルでMySQL, PostgreSQL, SQLite, MS SQL, Oracle, SimpleDB, Elasticsearch, MongoDB
に対応しています。
ちょいとデータベースを使いたいときに活躍するSQLite
に対応しているのはとてもうれしいです。
日本語対応OK
さらに日本語に対応しているのでメニューはすべて日本語で使えます。英語が苦手な@MINOとしてはありがたいですよ。
ファイル容量が激軽い
ファイル容量は日本語対応版が413KB
、英語オンリー版が283KB
で、機能をMySQLに絞った限定版では日本語対応版が313KB
、英語オンリー版が189KB
とかなり軽いです。
phpMyAdminが圧縮状態でも10MB
超あるのに対して激軽いですよね。
軽いのでリポジトリでも圧縮されていません。ダウンロードしたらそのまま使えます。
動作は軽快
phpMyAdminってかなり重いような気がします。もっさりしている印象があり正直いらいらさせられることも結構あります。
しかしAdminerはかなり軽快に動いてくれます。軽いです。イライラしなくて済みます。
使い比べてみたら解ると思います。
セキュリティ
基本的にクッキー併用のログイン機構ですが、パブリックスペースに置く場合は誰でもアクセスできてしまうのはphpMyAdminと同じです。
パスワードを強力にしておくことで突破される恐れは低くなりますが、それでも不特定多数への公開は不安が残るところです。
もし気になる人はBasic認証を施す、アクセスip制限等の設定を施す等は行う余地はあります。
または驚きの「使用後に消す」というのも考えられます。1ファイルだからこそできる運用方法ですね。
機能
ちょっと訳が変ですが、一通りの機能です。大抵のことはできます。
- 接続ユーザー名とパスワードを使用してデータベースサーバーに接続
- ログインは既存の接続情報を利用するか、新たに作成
- リストフィールド、インデックス、外部キーとテーブルのトリガ
- 名称変更、エンジン、照合、AUTO_INCREMENTとコメントテーブル
- 名前、種類、照合、コメントやデフォルト値の設定
- データの追加・削除
- インデックスによって検索、作成、変更、削除
- 外部キーによって検索、作成、変更、削除
- ビューからデータの作成、変更、削除が可能
- ストアドプロシージャと関数の作成、変更、削除
- トリガーの作成、変更、削除
- リストデータの検索、集計、ソート(およびリザルト制限)
- 新しい挿入レコードで上書き可能
- すべてデータ型をサポート、ブロブはファイル転送を介してアップロード可能
- 任意のSQLコマンドをテキストフィールドまたはファイルから実行可能
- テーブル構造、データ、ビュー、ルーチン、データベースSQLまたはCSVへエクスポート
- 外部キーによるデータベーススキーマの表示
- プロセスの表示とkill
- ユーザー権限の作成・変更
- 表示変数ドキュメントへのリンク
- 管理イベントと表パーティション(MySQL5.1)
- スキーマ、シーケンス、ユーザーの種類(PostgreSQL)
使ってみる
データベースを作成し、テーブルを作りデータを挿入するまでを紹介したいと思います。
まずはログイン。簡素な画面ですが必要十分です。
データベースを作ります。データベース名を指定。
データベースが出来ました。今度はテーブルを作ってみます。
「テーブルを作成」から…
テーブル作成画面に移行します。ここで各項目の要件を入力していきます。基本的にドロップダウンメニューが各所にあるので、それほど迷うことなく入力できるかと思います。
入力が完了したら保存。
テーブルが出来ました。今度はデータを挿入してみます。「項目の作成」を選択…
項目作成画面に移行します。ここでデータを入力します。id項目はオートインクリメントにしたので空白のまま、name項目にデータを入れて後はデフォルト値です。
データが一行追加されました。
非常に簡単です。
まとめ
- Adminerは
- 1つのファイルでできている
- MySQL, PostgreSQL, SQLite, MS SQL, Oracle, SimpleDB, Elasticsearch, MongoDBに対応
- 日本語対応
- ファイルが軽いので圧縮されていない・wget等でダウンロードしてそのまま使える
- 一般的な使用には問題ない範囲の機能
- 動作は軽快
- 1ファイルの特性を活かして使うごとに消すなど大胆な運用も可能