エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


AdminerはphpMyAdmin代替のデータベース管理ツール

      2017/03/09

Adminerとは?

 
PHPで書かれているデータベース管理ツールです。
 http://www.adminer.org/
 
この「Adminer」は、PHP 1ファイルでできていて、インストールもファイルを置くだけで動作するという超便利なデータベース管理ツールです。
 
それでいて、MySQLだけでなく、Oracle、PostgreSQL、SQLiteなど多彩なデータベースを管理することができる点がすご過ぎます。
 
画面はシンプルながら、phpMyAdminと比べ軽快に動作しますので、システムの開発、メンテナンス時に一時的に使うツールとしては非常に役に立つのではないでしょうか。
 
というか、機能面でも phpMyAdminとほぼ変わらない機能を実装していますので、一時的な管理ツールとして以外にも普通にシステムの開発を行うにも問題ないでしょう。
対応の言語やエクスポートするフォーマットが少ないと言われていますが、日本語に対応していますし、SQL出力、CSV出力を備えていますので、実務的には困る場面はないのではないのでしょうか。
 
 

WordPressのプラグイン Adminer

 
Adminerは、WordPressのプラグインとして同名のものが用意されています。
WordPressのプラグインとしての「Adminer」については「WordPressのデータベース管理プラグインの決定版!Adminer」に記事を書きましたので、こちらを参照してください。
 
 

Adminerの使い方

 

Adminerの設置の仕方

 
Adminerは、下記の公式サイトからダウンロードできます。
 http://www.adminer.org/
 
PHP 1ファイルがダウンロードされますので、それをサーバにアップするだけで利用できます。
 
アップして、そのファイルの URLを入力するだけで利用できます。
すごく簡単で、感動すら覚えます。
 
 

Adminerのログイン画面

 
20150305_web_01
 
画面を見てもらえば分かりますが、何の問題なく日本語で表示されます。
 
サーバ情報をそれぞれ入力し、「ログイン」をクリックすることでログインできます。
 
 

「セッションの期限切れ。ログインし直してください」のエラー

 
ログインするとき、「セッションの期限切れ。ログインし直してください」のエラーが出てログインできない場合もあります。
そんな場合は、「永続的にログイン」にチェックを入れることでログインできる場合もありますので試してみましょう。
 
 

Adminerの一覧画面

 
20150305_web_02
 
ログインすると上記の通り、テーブルの一覧が表示されます。
 
各メニューも日本語で表示されていますので、メニューや一覧のリンクをクリックして、遷移先の画面見ればだいたいだいたいの使い方は理解できるのではないでしょうか。
 
 


 

Adminerと phpMyAdminの使い方の違ったところ

 
Adminerと phpMyAdminは違うツールですので、使い方は違って当たり前なのですが、個人的にちょっと迷ったところをご紹介しておきます。
 
 

AUTO_INCREMENTの変更

 
「AUTO_INCREMENT」の変更する場所は、phpMyAdminの場合は「テーブルオプション」にあります。
20150305_web_03
 
ですが、Adminerは、ログイン後のテーブル一覧の「連番」の数値をクリックすると、各項目の設定の一覧の下に「連番」という項目で設定が可能です。
 
20150305_web_04
 
20150305_web_05
 
 
また、下記の各テーブルごとの「テーブルの変更」「項目の作成」のリンクから遷移することでも「連番」は設定が可能です。
 
20150305_web_06
 
20150305_web_07
 
ただし、各テーブルごとのページから遷移した場合は、「連番」に現在の値が編集されていないため、初めて使う場合は戸惑う原因になるでしょう。
 
 

データのエクスポート・インポート

 
phpMyAdminの場合は、上部のメニューに「エクスポート」「インポート」のリンクがあり、そこから遷移した画面で処理を行います。
 
Adminerも左上にある「インポート」「エクスポート」のリンクから遷移する画面でそれぞれ処理を行えます。
 
ですが、各テーブルの「データ」の一番下にも「エクスポート」「インポート」のリンクがあり、ここから各テーブル単位の SQL、CSV、TSVのエクスポートが行えます。
ですが、インポートは CSV、TSVしかなく、これまた初めて使う場合は戸惑う原因となるでしょう。
 
20150305_web_08
 
 
あれこれ触ってみれば、そんなところで戸惑ったりしないよ、という声が聞こえてきそうですが...
 
 

Adminerのワンポイントカスタマイズ

 

Adminerのセキュリティ向上

 
Adminerは 1ファイルですので、使用するときにサーバにアップして、使い終わったら削除すると言う運用をする方がセキュリティ的にはベストの方法です。
ですが、その都度サーバにアップするのは面倒ですので、せめて Basic認証を設定しておき、アクセスを制限しておく方がいいでしょう。
 
ファイル単位で Basic認証を設定する場合については「Basic認証をファイル単位・URL単位で設定する方法の解説」に記事を書いていますので参考にしてみて下さい。
 
ファイル単位の方法でない場合は、Adminerを入れるフォルダを作ってそのフォルダに Basic認証を設定しておきましょう。
 
 

Adminerのデザイン変更

 
Adminerのデザインは非常にシンプルですが、これは 1ファイルで動くように設計されているからです。
 
ですが、簡単にデザインを変更することができます。
 
 Adminer公式サイト
 http://www.adminer.org/en/#extras
 
上記の Adminerの公式サイトにデザインを変更するための CSSが用意されていますので、それをダウンロードしてきて Adminerのプログラムがある同じフォルダの中に入れるだけです。
 
それによって多彩なデザインに変更することができます。
 
一時的に使うならデフォルトのデザインのままでもいいでしょうけども、中長期的に使う予定なら、デザインも好みのものに変えて使う方がいいでしょうね。

 - PHP・Smarty・ECCUBE

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

PHP画面が真っ白 header(“Location: $url”);

PHPの開発で header(“Location: $url”);を使うと画面が真っ白になる不具合が出る場合もあります。

PHPでスクレイピング。phpQueryとphp-simple-html-dom-parserの比較と設置方法
PHPでスクレイピング。phpQueryとphp-simple-html-dom-parserの比較と設置方法

「PHP スクレイピング」で検索すると「phpQuery」ばかりヒットするが、10年以上も放置されている。なので今も開発が続いている「PHP Simple HTML DOM Parser」をオススメする。

XML形式の値を配列形式に変換・PHPでは simplexml_load_string()
XML形式の値を配列形式に変換・PHPでは simplexml_load_string()

XMLとは「Extensible Markup Language」の略でテキストベースのデータフォーマット。XMLをPHPで配列に変換するWebツールの紹介とその処理「simplexml_load_string()」関数についての解説。

GMOペイメントゲートウェイのjava.io.IOExceptionのエラー

ECCUBEの決済でGMOペイメントゲートウェイのモジュールを使ってテスト決済を行った場合の不具合、java.io.IOExceptionと言うエラーの原因と対策方法の解説です。

JSON形式の値を配列形式に変換・PHPでは json_decode()、json_encode()
JSON形式の値を配列形式に変換・PHPでは json_decode()、json_encode()

JSONとは「JavaScript Object Notation」の略でテキストベースのデータフォーマット。JSONの値をPHPで配列に変換するWebツールの紹介とその処理「json_encode()」「json_decode()」関数の解説。

ob_start、ob_get_contents関数でPHPの標準出力をバッファリング・変数に代入

標準出力をバッファリングし変数に代入することができるob_start()関数の解説。include()の処理をバッファリングすることで自由な場所に処理を記述することが可能。

SEO対策用タイトル、ディスクリプションの文字数カウントツール

SEO対策に使える文字数カウントツールで文字数の条件の説明も行っています。

ECCUBEでテンプレートファイルのファイルサイズは10MB以下のものを使用してくださいのエラーが出た場合

テンプレートをアップロードする際にファイルサイズが大きすぎてエラーが表示される際の対処方法解説。パラメータ設定で設定する制限について解説を行っています。

PHPで特定の日間の日付を for、strtotimeで表示する

ある特定の間の日付の情報を for文、strtotimeを使って作成し、その解説をしています。

配列の値をテキスト表示する際に「、」でつなげるときの処理方法の一例
配列の値をテキスト表示する際に「、」でつなげるときの処理方法の一例

配列の値を「、」でつないで出力する際、単純にforeachで繰り返し処理をすると「イヌ、サル、キジ、」となるが文字列最後の「、」を出力しない方法を3つ解説している。