エス技研

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.

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

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

  関連記事

Phpmailerでスパム回避!Gmail等のSMTPを経由するPHPのメールフォーム解説

お問い合わせ等のメールフォームから送ったメールがスパム扱いされる!その対策としてライブラリ「Phpmailer」を使う方法を解説。関数化していますのでコピペでOK。

フォルダを指定してファイルのパーミッションを変更するプログラム

フォームからフォルダ、パーミッションを指定しパーミッションを変更するサンプルプログラムの解説です。

乱数発生器(パスワード生成サービス)がバージョンアップで高速化!
乱数発生器(パスワード生成サービス)がバージョンアップで高速化!

乱数やパスワードを生成する乱数発生器を高速化!重複しない10桁、20桁の文字列を10万件、20万件と生成することも可能!イベントのキャンペーンのシリアルコードなどにも利用可能!

include、requireのパス指定をdirname(__FILE__)、__DIR__と書く理由

include、requireのパスの指定を dirname(__FILE__)、__DIR__で記述する理由に付いて解説。相対パス、絶対パスを直書き、パスを書かない場合は何が問題かを説明。

連想配列のキーも値もまとめてhtmlspecialchars()でサニタイズする関数の作成解説
連想配列のキーも値もまとめてhtmlspecialchars()でサニタイズする関数の作成解説

PHPの配列・連想配列のキーと値をまとめてhtmlspecialchars()関数でサニタイズ(無害化、無毒化)を行う関数を作成。連想配列のキーはarray_map()関数でのサニタイズは無理。

指定した数で文字列を丸める関数substr、mb_substr、mb_strimwidthの違い
指定した数で文字列を丸める(n文字目で…にする)関数substr、mb_substr、mb_strimwidthの違い

文字列を指定された数で抜き出すPHPの関数、substr、mb_substr、mb_strimwidthについての解説。似た関数だが引数の指定方法が違ったり、文字数がバイト数か文字数かも違ったり、注意が必要だ。

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

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

リダイレクトループが原因で「ERR_TOO_MANY_REDIRECTS」「このページを表示できません」が出たときの対策12事例+α

リダイレクトループ、自動転送設定ループの原因の解説とその対応方法を含め事例 12例を挙げて説明。

Smartyの修飾子regex_replaceで正規表現の後方参照・PHPではpreg_replace

ECCUBEで使われているSmartyで文字列を正規表現で置換し後方参照で値を利用する装飾子regex_replaceの解説です。細かな条件がありますので注意が必要です。

PHPで正規表現の検証には preg_match_allが便利

PHPで正規表現の検証には preg_match_allが便利です。その便利さの使い方の解説です。