1月4日 この日はデータベースに接続し,指定したID のユーザーがテーブルに存在するかを確かめるSQL文を発行するクラスを作るところから,PHPの勉強をはじめる予定だったのだが,こうしろうのPCには,まだデータベースサーバーがインストールされていなかった。

 WindowsPCにApache WebサーバーとMySQLデータベースサーバーをインストールして,手軽にサーバーサイドプログラミングのエッセンスとオブジェクト指向プログラミングの基礎を学ぶことが目的なので,私のPCにダウンロードしてあったmysql-4.0.20d-win.zipを渡し,セットアップするように言った。

 解凍してインストールしようとすると,次のようなエラーが出るという。

-------------------------------------------------------------------------------
16 ビット MS-DOS サブシステム
実行またはインストールしようとしているプログラムへのパス
C:\WINNT\system32\autoexec.nt システム ファイルは MS-DOS および Microsoft Windows
アプリケーションを実行するのに適していません。
アプリケーションを終了するには、[閉じる] を選んでください。
-------------------------------------------------------------------------------

 MySQLのWindows版のインストールでエラーになったことがなかったので「なんでやろう」と正月ボケ真っ最中でボンヤリしていると,こうしろうがマイクロソフトのサポートページで同様の現象を見つけた。

http://support.microsoft.com/default.aspx?scid=kb;ja;324767

 このページに,「MS-DOS ベースまたは 16 ビット Windows ベースのプログラムをWindows XP ベースのコンピュータ上で起動またはインストールしようとした場合」に表示されるエラーで,原因はConfig.nt,Autoexec.nt,Command.comのいずれかが存在しないか破損していることだと説明してあった。ハードディスクを検索すると確かにautoexec.ntが存在していなかったので,「解決方法」にしたがい,ファイルをexpand すると直ったらしい。

 インストールを完了したこうしろうに,管理ツールのサービスでMySQLデータベースサーバーのコントロールができることを説明する。

 サーバー機ではないので,PC起動時に自動的に起動されないようにスタートアップの種類を手動にして,自分でサービスの開始と終了を行う。

 次にコマンドプロンプトを起動し,mysqlをインストールしたディレクトリのbinサブディレクトリにCDコマンドで移動し,mysql -u rootと入力しMySQLサーバーに接続する。MySQLサーバーをインストールしたら,最初にすべきことはすでに登録されているrootユーザーにパスワードを設定し,他に数件登録されているパスワードなしのユーザーを削除することである。

 今回はWindowsの個人ユーズのPCだから,セキュリティがどうのと言う必要はないのだが,これがお決まりの設定作業だ。
 具体的にはuse mysqlとmysqlデータベースを選択し,set password for root@localhost=PASSWORD(‘パスワード’);と入力し(パスワードの部分に実際のパスワードを,例えばnx24knrrのように入力する),rootユーザーにパスワードを設定する。

 ここで一旦exit;と入力しmysqコマンドを抜け,再度mysql -u root -pとmysqlコマンドに-pパラメータを追加し,MySQLサーバーに接続する。

 こんどは,rootユーザーのパスワードを聞いてくるので,先ほど設定したパスワードを入力する。

パスワードが認証されたら,再びuse mysqlとデータベースを選択し,delete from user where passwprd=’’;と入力し,パスワードなしのユーザーを削除する。

 これでMySQLデータベースを使う準備はOKだ。