MAMPでWebサーバ構築5

MAMP

今回は、MySQLについて。
デフォルトパスワードを任意のパスワードへ変更します。

スタートページ「http://localhost:8888/MAMP/?language=Japanese」を開いてみると、「phpMyAdmin」へのリンク、ホスト、ポート、ユーザ名、パスワード、ソケット等の情報が見て取れます。

phpMyAdminはPHPで書かれたMySQL管理用スクリプトです。これを使えば、Webブラウザを使ったデータベース管理が可能となります。


さて、デフォルトの状態では、MySQLにアクセスするためのユーザ名がroot、パスワードがrootに設定されていますが、これをそのまま使い続けるのは好ましいことではありません。そこで、ターミナルを使ってパスワードを変更します。

MAMPによってインストールされたmysqlコマンドは次の所にあります。

/Applications/MAMP/Library/bin/mysql

ここにはパスが通っておらずコマンドを入力するのが面倒なので、パスが通った「/usr/bin」にシンボリックリングを張ることにします。
コマンドは次のとおり。sudoコマンドを使うので管理者用パスワードの入力が必要です。

$ cd /usr/bin
$ sudo ln -s /Applications/MAMP/Library/bin/mysql mysql

次は、mysqlコマンドを使ってサーバにログインする方法です。
ターミナルに次のコマンドを打ち込みます。パスワードを聞いてきたら、デフォルトパスワードの「root」を入力します。

$ mysql -u root -p

次のようなプロンプトが帰ってきたらログイン成功です。

mysql>

次のコマンドで新しいパスワードを設定します。なお、','に囲まれた部分に任意のパスワードを入力してください。

mysql>set password = password('新しいパスワード');

「Query OK,」とメッセージが帰ってきたら、パスワードの変更が成功です。

または、次のコマンドでパスワードを設定します。

mysql>set password = old_password('新しいパスワード');

上の2つのコマンド、'password'と'old_password'の部分が違いますが、ともにパスワードを設定するもの。
MySQLの新旧バージョンでパスワードのハッシュ長が異なることから、互換性を取るために2通りのパスワード設定のコマンドがあります。
セキュリティの面では、'password'の方が好ましいのですが、'old_password'を選択しました。なぜなら、MovableTypeのデータベースとしてMySQLを使うとき、'old_password'じゃないとダメっぽいからです。

さて、話を元に戻します。
MySQLコマンドを終了するには、ターミナルに次のように入力します。

mysql> exit

以上でパスワードの変更が終了です。

MySQLのデータベースにアクセスするためにパスワードを変更したので、これを利用するPHPスクリプトについては、パスワード周りのコードを修正しなければなりません。

まずは、MAMPのトップページ「http://localhost:8888/MAMP/?langpage=Japanese」。これをブラウザで表示すると、次のようなエラーが表示されます。MySQLのパスワードを変更したことにより、データベースにアクセスできなくなったからです。

Error: Could not connect to MySQL server!

これを修正するために次のように変更します。
ファイル"/Applications/MAMP/bin/mamp/index.php"の15行目

修正前
 $link = @mysql_connect(':/Applications/MAMP/tmp/mysql/mysql.sock', 'root', 'root');

修正後
 $link = @mysql_connect(':/Applications/MAMP/tmp/mysql/mysql.sock', 'root', '新しいパスワード');

次に、MySQL管理スクリプト「phpMyAdmin」です。
phpMyAdminのアドレス「http://localhost:8888/phpMyAdmin/」にアクセスすると、やはりパスワード違いによりデータベースを開くことができません。
そこで次のように修正します。

ファイル"/Applications/MAMP/bin/phpMyAdmin/config.inc.php"の86行目

修正前
 $cfg['Servers'][$i]['password'] = 'root';

修正後
 $cfg['Servers'][$i]['password'] = '新しいパスワード';

以上が、MySQLのパスワード変更に伴うスクリプト変更です。

MAMPではじめるMac OS Xサーバサイドプログラミング Image
発送可能時期:通常24時間以内に発送
売り上げランキング:20197
発売日:2006/06
出版社:ラトルズ
著者等:掌田 津耶乃
投稿者 Jun : 22:58 | PHP

このエントリーのトラックバックURL

http://o-ume8.com/cgi/mt334/mt-tb.cgi/1700

コメントを投稿

ナビゲーション

ブログを検索


Google

カウンタ

o-ume8 COUNTER
o-ume8 COUNTER
since 2003/11/14

iTunes Store Top Albums

iTunes_logow_125-40.gifiTMS

iTunes Store Top Songs

iTunes_logow_125-40.gifiTMS
pagecontainer bottom image