WordPressからphpMyAdminを利用してデータベースを操作、バックアップする

今回WordPressの各種情報(投稿・設定等)を保管しているデータベースのバックアップを後回しにしていた中で、myswlのデータのバックアップや各種操作を行うものとして、phpMyAdminを知ったので、導入と操作について覚書的+簡易レビューにこちらに書いておきます。

phpMyAdmin

MySQLサーバに大してwebブラウザ上から各種参照・操作を行うことができるクライアントツールです。データベースに対して、ブラウザからSQL文を実行する等も可能なため、データベース内のデータを参照・変更等する時にデータベースサーバにアクセスせずに行うことができます。

しかしながら、逆に言えばweb上からデータベースを直接制御できるため、クラックを受ける絶好の的となってしまいます。そのため、アクセス制限等、セキュリティ対策はしっかりしておく必要があります。(.htaccess上でdeny,allowを用いて自分自身のIPアドレスのみ、phpMyAdmin以下のディレクトリアクセス可能にする等)

今回は、WordPressに対して使うのがメインなので、プラグインでないかと探していると、Portable phpMyAdminというのも見つかりましたが、ちょっと使ってみる分には、前述のセキュリティ周りもWordPress任せにできるので、良い感じだったのですが、よく確認してみると去年の9月から更新が止まっており、内包しているphpMyAdmin内部のバージョンがかなり古いものになっていたため、公式から入れてみる事にしました。

wget "http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.4.10.1/phpMyAdmin-3.4.10.1-all-languages.tar.bz2"
tar jxvf phpMyAdmin-3.4.10.1-all-languages.tar.bz2
mv phpMyAdmin-3.4.10.1-all-languages [ウェブサーバのルートディレクトリ]

これで利用自体はできるようになりました。
これだけでも、mysqlのユーザでログインして、DBの閲覧・やバックアップ、復元などを行うことができます。
しかし、暗号化キーの設定が行われていないため、警告が表示されます。
これを回避するためには、

cp config.sample.inc.php config.inc.php
emacs config.inc.php

そして、このconfig.inc.phpの$cfg[‘blowfish_secret’] = ”;の空白部分に乱数等任意の文字列を挿入することで解決します。

これだけでも十分に使うことができますが、他の一部の設定をデータベースに保管するので、そのデータの保管用DBを作成する必要があります。
これに関しては、PMAのクイックガイドにそってDBテーブル等の作成を行ったのですがうまく動作せず、現状その部分まで使うことがないため、今は放置しています。

今後、運用していくにあたっては考えていく必要があるでしょうが、ひとまず.htaccessの設定で自分自身以外アクセスできないようにしておきます。

order deny,allow
deny from all
allow from [自身のIPアドレス]

表面上の機能だけでも非常に豊富であり、簡単な作業どころか多少複雑な作業でもこちらでする方が効率は良くなりそうなものも多く有りそうです。
ただ、web上からデータベースに直接アクセスできるというのは、セキュリティ的に非常に重大な問題となりうるため、扱いには注意する必要があるでしょう。

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>