Win98SEでMySQL 4.1を起動


結局、Win98SEでMySQL 5.0 は起動できなかった。


まず、はじめにMySQLをインストールする際には、Typicalでインストールしない方がいい。


というのも、Typicalでインストールすると、インストール先が下記の場所になるからだ。

c:\Program files\MySQL\MySQL Server 5.0\


通常は、コマンドプロンプトでパスを打つ際に下記のように打てばよく思えるが、これでは、通らない。(DOSでは8文字しか認識しないため、それ以上の文字数の場合は、6文字+~数字という形になる。)

c:\Progra~1\MySQL\MySQLS~1\bin


一見正しそうに見えるし、「Dir」などで確認しても、こういう風に表示されるのだが、ここに落とし穴がある。それは、下記の点である。

MySQL Server 5.0


MySQLとServerの間にスペースが空いているが、これによりDOSでは認識しないのである。ここで不思議に思えるのは、Program filesも間にスペースが空いているのに、認識しているじゃないかという人もいるかもしれないが、 キーになるのは、DOSは、8文字しか認識しないということだ。


Program filesの場合、Programは、7文字だが、実際には、Prograの6文字+~1で8文字となるため、このおかげでDOSで認識できるようになっている。


それに対して、MySQL Serverは、MySQLで5文字で、スペースを入れて、6文字になる。DOSでは、スペースで一区切りとなり、通常は、それ以降の文字は認識されない。ただ、表示は、DOS命名規則にスペースは入らないため、mySQLS~1になっているにすぎないのだ。


ということで、インストールする時は、Customでインストールし、インストール先をDOSから見られるように変更しておく必要がある。

例:
c:\Programfiles\MySQL\


以上を踏まえた上で、インストールと設定が終わったとしよう。この状態で、MySQLを起動しようとすると、下記のメッセージが表示される。

ERROR 2003: Can't connect to MySQL server on 'localhost' (10061)


原因は、Apacheの時と同じくプログラムが動いていないからなのだが、mysql.exe、mysqld-nt.exe、mysqladmin.exeを手動で起動してもうまくいかない。


悩んだ末、もしかしたら、MySQL 4.1ならば起動できるかもと思い、5.0をあきらめ、4.1を入れたのだが、これもそのままでは起動せず、結局、コマンドプロンプトからmysqld-nt.exeを起動したら、うまくいったのだが・・・。


何か、釈然としないんだよね。というのも、このdaemonのハイフンのntって、Windows NT系列用という意味だと思っていたんだけど、違うのかな。


あと、4.1ならば、大丈夫だろうと思った根拠は、7月にWindows 9x系のサポートが終了したため、それ以降のものは、暗黙の了解で、NT系列でコンパイルしている可能性があるから、うまくいかないのかもと思ったから。


それ以前の4.1系ならば、Windows 9x系でも使える用にテストしている可能性があると思ったんだよね。ま、MySQLって、通常は、サーバーにインストールして使うと思うので、ローカルだけで使うのは邪道のような気もするんだけど・・・。