MySQL を使って開発している人ならお世話になるであろうphpMyAdmin。なんと、最近まで使っていませんでした。先輩が使っているのを見てとっても便利そうだったので、インストールしました。その手順をメモりります。
phpMyAdmin って何
Wikipedia から引用。
phpMyAdminはMySQLをインターネット越しに管理するためのツールで、PHPで実装されている。 phpMyAdminを用いることで、SQL文を記述することなく、MySQLのデータベースに対して様々な操作が行える。 また、ユーザが任意のSQL文を記述して実行することもできる。
要はブラウザからMySQL のDB を操作できるツールです。更新や削除、スキーマ情報の閲覧などもできます。開発者としては、動作確認の際にブラウザでレコードが見られるだけでもかなり助かると思います。
僕はレコードの状態を確認する際に、「mysql」コマンドやrails の「script/console」コマンドをたたいていました。今思うと、とても非効率。phpMyAdmin ありがたやです。
なお、今回試した環境は以下のようになります。
インストール&設定手順
手順は以下のようになります。
- 1. phpMyAdmin のインストール
- 2. phpMyAdmin の設定
- 3. apache の設定(phpMyAdmin へのアクセス制限)
- 4. php の設定(mysql のソケットの位置を指定)
- 5. phpMyAdmin の起動
1. phpMyAdmin のインストール
- 1. ダウンロードページにアクセスし、「phpMyAdmin-2.11.9.2-all-languages.zip」をDLし、展開する
- 2. 展開されてできたディレクトリ「phpMyAdmin-2.11.9.2-all-languages」のを「Library/WebServer/Documents/」に移動
$ mv ~/Downloads/phpMyAdmin-2.11.9.2-all-languages /Library/WebServer/Documents/phpmyadmin
2. phpMyAdmin の設定
- 1. 設定ファイルを作成。設定ファイルのサンプルがあるので、それをコピー
$ cd /Library/WebServer/Documents/phpmyadmin $ cp config.sample.inc.php config.inc.php
-
- /Library/WebServer/Documents/phpmyadmin/config.inc.php
/* ランダムな英数字を設定する */ $cfg['blowfish_secret'] = '0433412bkowdbhjqcrcuzelCVdJjCLmI50120502';
- 3. 権限設定
$ sudo chmod 660 config.inc.php $ sudo chown -R www:www /Library/WebServer/Documents/phpmyadmin
3. apache の設定(phpMyAdmin へのアクセス制限)
今回はローカルホストからのみphpMyAdmin にアクセスできるようにします。
- 1. etc/apache2/other/phpmyadmin.conf の作成
- /etc/apache2/other/*.conf ファイルに書いた設定はapache の設定に読み込まれるようになっている
$ sudo emacs /etc/apache2/other/phpmyadmin.conf
-
- /etc/apache2/other/phpmyadmin.conf
<Location /phpmyadmin> Order deny,allow Deny from all Allow from localhost </Location>
Allow from localhost を書かないと、ローカルからもアクセスできなくなります。
- 2. apache を8081 で起動させるようにする
- LISTEN の部分を書きかえる
- apache を80 番で使っている場合は、httpd-phpmyadmin.conf のような設定ファイルを別に作成する必要がある
$ sudo /etc/apache2/httpd.conf
-
- /etc/apache2/httpd.conf
#Listen 80 オリジナルをコメントアウト
Listen 8081
4. php の設定(mysql のソケットの位置を指定)
最後の設定として、php の設定をします。設定の内容としては、「mysql のソケットファイルへのパス」です。php からmysql を操作するモジュールは、mysql のソケットとして「/var/mysql/mysql.sock」を見に行く設定になっています。なので、ソケットファイルが別の位置にある場合、この設定を変更する必要があります。
ちなみに、変更をしないままphpMyAdmin からログインしようとすると、以下のようなエラーがでます。
#2002 - サーバが応答しません (あるいはローカルの MySQL サーバのソケットが正しく設定されていません)
$ sudo cp /etc/php.ini.default /etc/php.ini $ sudo chmod 644 /etc/php.ini
- 2. mysql のソケットのパスを確認
$ mysql5 -u root -p mysql> status ..... UNIX socket: /opt/local/var/run/mysql5/mysqld.sock
; Default socket name for local MySQL connects. If empty, uses the built-in ; MySQL defaults. mysql.default_socket = /opt/local/var/run/mysql5/mysqld.sock
5. phpMyAdmin の起動
- 1. 起動
$ sudo httpd
- 2. http://localhost:8081/phpmyadmin にアクセスし、ログイン画面からmysql ユーザのID、PASS を入力するとログインできます