MySQL 5.1.48 rootパスワードの不思議

XAMPPでインストールしたMySQLを使っていましたが、何故か mysql>statusコマンドで、current databaseとかが表示されないので、思い切って最新バージョンMySQL 5.1.48をインストールしました。Windows Service名を変え、コードセットにutf8を選んだり、Custom Setupを試みましたが以下の事象で結構はまってしまいました。OSはVistaですが、原因はいまだによく分かっていません。

  1. Custom Setupで進めると何故か Windows Serviceのフェーズで無限ループ状態になる
  2. Current root password の入力を求められる

1.についてはいろいろ設定を変えて試してみましたが、どれもうまくいきません。仕方がないので、標準インストールを選択すると問題なくインストールできました。後から環境設定(my.ini)を変えればいいのでしょうが気持ち悪いですね・・・。

2.は最初はパスワード設定無で進みましたが、MySQLにログインしようとすると mysql -u root で怒られるし、mysql -u root -p でパスワードプロンプトに[Enter]キー入力でもアクセス拒否されました。そこで、一度MySQLをアンインストールして残ファイルをクリーンアップしてから再インストールしようとしましたが、またしても Current root passwordが求められます。 今度は、Currentは入力せず、New とConfirmにパスワードを設定してみました。MySQLのログイン時に新しいパスワードを入れましたが、これもアクセス拒否となります。
そもそもインストール時にcurrentを要求されるのも変ですし、currentの入力をせず新規のパスワードを入れてインストールが正常に進むのも変ですね。額面通りにとれば、自分では新規のインストールと思っているのですが、すでにMySQLサーバーがあってrootのパスワードがあるということかな・・・。ちなみに現行MySQLはrootパスワード無しで動かしています。またインストール時にWindows Service名は当然変えています。

ここまできて、思い切って現行のMySQLをXAMPPごとアンインストールしてみました。もちろん、最新のMySQLもアンインストールし、Windows Serviceやフォルダーも完全に消しました。念のためレジストリをみるとMySQL ABのところに、それらしいのが残っていたので、それも消しました。唯一残っているのは ODBC connector 5.1 のみです。そして再リブート!!! これなら、もうCurrent root passwordは出ないだろう・・・と思いきや、なんとまた表示されるではないですか・・・?

理由も気になるところですが、ともかく動かすことが先決。
何か分からないがrootにパスワードが付いているということなので、それをリセットできないかネットで調べました。 思いつくキーワードで検索すると「MySQLのrootのパスをリセットする」という表題の記事が見つかりました。 その通りに実行してみると、無事rootのパスワードを新たに設定することができ、そのパスワードでMySQLにログインできるようになりました。

ちなみに、mysql> status でcurrent database も表示されるようになりました(拍手 !!!)。

そもそものバージョンアップの動機がこれだけでした。これでやっと本来の仕事に入れます。

おすすめ