MySQL管理(phpMyAdmin)

phpMyAdminはWebブラウザからMySQLデータベースを管理するためのPHPで記述されたソフトウェア。WebブラウザからMySQLのテーブル操作、インポート・エクスポートすることが出来る。
■ phpMyAdminインストール
こちらで最新版 を確認すること
(最新版を確認してダウロード 11/09/19 時点では phpMyAdmin 3.4.5)

[root@server1 ~]# wget http://prdownloads.sourceforge.net/phpmyadmin/phpMyAdmin-3.4.5-all-languages.tar.bz2
ダウンロードしたphpMyAdminを展開
[root@server1 ~]# tar jxvf phpMyAdmin-3.4.5-all-languages.tar.bz2
古いphpMyAdminを削除
[root@server1 ~]# rm -rf /var/www/phpmyadmin
phpMyAdmin展開先ディレクトリを所定の場所へコピー
[root@server1 ~]# mv phpMyAdmin-3.4.5-all-languages/ /var/www/phpmyadmin
ダウンロードしたphpMyAdminを削除
[root@server1 ~]# rm -f phpMyAdmin-3.4.5-all-languages.tar.bz2

■ php-mysqlインストール
phpMyAdminはPHPで動作するため、PHPからMySQLデータベースへアクセスするためのパッケージ「php-mysql」をインストールする

[root@server1 ~]# yum -y install php-mysql

■ mbstringモジュールインストール
phpMyAdmin は mbstring 拡張なしでは文字列を正確に分割することができないのでmbstringモジュールをインストールする

[root@server1 ~]# yum -y install php-mbstring

■ phpMyAdmin設定

phpmyadmin/config.sample.inc.phpを名前変更して/var/www/phpmyadmin/の直下にコピー
[root@server1 ~]# cp -p /var/www/phpmyadmin/config.sample.inc.php /var/www/phpmyadmin/config.inc.php
設定ファイルのパーミッションを変更
[root@server1 ~]# chmod 660 /var/www/phpmyadmin/config.inc.php
設定ファイル編集
[root@server1 ~]# vi /var/www/phpmyadmin/config.inc.php
* This is needed for cookie based authentication to encrypt password in
* cookie
*/
$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
↓
$cfg['blowfish_secret'] = '***********'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */ ← 46文字以内の適当な文字列を指定
※上記はロiグイン時のパスワード暗号化の際に内部的に利用されるパスフレーズであり、ユーザに入力要求されるものではない
phpMyAdminの所有者を変更
[root@server1 ~]# chown -R root.apache /var/www/phpmyadmin/

■ Apache設定
phpMyAdmin用Apache設定ファイル作成

内部と特定の外部IPからのみアクセスできるように指定する
[root@server1 ~]# vi /etc/httpd/conf.d/phpmyadmin.conf
Alias /phpmyadmin /var/www/phpmyadmin
<Location /phpmyadmin>
Order deny,allow
Deny from all
Allow from 127.0.0.1 ← サーバー自身からのアクセスを許可
Allow from 192.168.1. ← 内部ネットワークからのアクセスを許可
Allow from xxx.xxx.xxx.xxx ← 特定の外部IP(xxx.xxx.xxx.xxx)からのアクセスを許可
</Location>
[root@server1 ~]# /etc/rc.d/init.d/httpd restart ← Apache設定反映
httpd を停止中:                                            [  OK  ]
httpd を起動中:                                            [  OK  ]

会社等からアクセスする場合、自分の会社の接続環境(IPアドレス)を調べ、/etc/hosts.allowへ登録する必要がある。そんな時は診断くんで確認できる。
■ phpMyAdmin確認
http://サーバー名/phpmyadmin/へアクセスして、phpMyAdminのログイン画面が表示されること
MySQLに登録されているアカウントでログインできること
http://サーバー名/phpmyadmin/へアクセスしてみると
※「mcrypt 拡張がありません。PHP の設定をチェックしてみてください。」というエラーメッセージが出たので、 php-mcryptをインストール。
■ php-mcryptをインストール

[root@server1 ~]# yum install php-mcrypt

■ Apacheの再起動

[root@server1 ~]# /etc/rc.d/init.d/httpd restart

■ PHP の初期設定の変更
リストアで利用できるバックアップデータの最大サイズは2,048KB と書かれているとおり、 デフォルト では2 MB になっている。これはphpMyAdminの制限ではなく、 PHP の初期設定での制限。 これを変更するには、 “/etc/php.ini” を開き、 “upload_max_filesize” ディレクティブ を修正。
/etc/php.iniを cp コマンドでバックアップを作成してから作業するようにする。

[root@server1 ~]# cp -p /etc/php.ini /etc/php.ini.org
[root@server1 ~]# vi /etc/php.ini
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
; Whether to allow HTTP file uploads.
file_uploads = On
; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir =
; Maximum allowed size for uploaded files.
upload_max_filesize = 2M
↓
upload_max_filesize = 30M ← 30Mに変更