2008年12月3日水曜日

XAMPP を入れなおしたら、Apache, MySQL が起動しない

1. XAMPP をインストール

久しぶりに XAMPP を入れ直した。バージョンは 1.6.8。

 

2. Apache が起動しないのは、Skype が原因

XAMPP のコントロールパネルを使って、Apache が起動を試みた。しかし起動しない。

問題は、以前と同じように Skype が邪魔をしていた

Skype において、 ツール > 設定 > 詳細 > 接続 の「上記のポートの代わり、ポート80を使用」のチェックをはずした。

 

3. MySQL が起動しない

次に、MySQL を起動しようとしても起動せず。 (+_+)

次のようなエラーが表示された。

ローカルコンピュータのMySQLサービスを開始できません。エラー1067: プロセスの途中で強制終了しました。

WEB+DBプログラミングの基礎FAQ - [データベース]All About によると、

この問題が発生した場合は、winmysqladminを停止し、
C:\WINDOWSフォルダ内(*注1)にあるmy.iniファイルを削除します。

上記に従い、C:\WINDOWS\my.ini を削除。

次に、C:\xampp\mysql\bin\winmysqladmin.exe を起動。username と パスワードを設定するように促されるので設定。

しかし、今度もまたエラーが。 (@_@;)

Access violation at address XXXXXXX in module 'LIBMYSQL.dll'. Read of address 00000000.

以前にも同じエラーが表示されたことがある。。

WinMySQLadmin 1.4 を起動し、my.ini タブを選択。

`user= , password= ' に文字が記入されていたので、これを削除し、Save Modification ボタンを押した。

同じ対処をしたら、 MySQL が動いてくれた。

 

4. MySQL Administrator のインストール

追記 (2008.12.3) : お手軽に GUI から操作できる

をインストールした。ダウンロードするとき、ユーザ登録を促されるが、

を選択。

デフォルトでは以下の場所にインストールされる。

C:\Program Files\MySQL\MySQL Tools for 5.0\MySQLAdministrator.exe

しかし、MySQLAdministrator を起動しようと思ったけれど、root のパスワード忘れてもうた… (o_ _)o~†

 

root のパスワードを変更

の説明に従い、コマンドラインから、xampp の mysql フォルダにある C:\xampp\mysql\bin\ に移動してから、

mysqladmin -u root password パスワード

により、パスワードを変更。

これに伴い phpMyAdmin における設定も変更。

  • C:\xampp\phpMyAdmin\config.inc.php の root のパスワード

を設定した。

$cfg['Servers'][$i]['password']      = 'パスワード';

 

my.ini の指定

これで MySQLAdministrator を root 権限で起動できるかと思いきや、次のようなエラーメッセージが表示された。

Either the server service or the configuration file could not be found. Startup variables and service section are therefore disabled.

Beautiful Dreamer ~ ばしっ子ドットコム Returns ~::2008年02月 によると、

これは、単純に設定ファイルのパス指定の問題。
なので、レジストリ・エディタで簡単に対応。

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MySQL\ImagePath
C:\mysql\bin\mysqld.exe MySQL

"C:\mysql\bin\mysqld.exe" --defaults-file="C:\WINDOWS\MY.INI" MySQL

説明に従い、レジストリエディタ (regedit)で

C:/xampp/mysql/bin/mysqld-nt.exe --defaults-file="C:\WINDOWS\MY.INI" MySQL

上記で問題になっていた my.ini ファイルを指定するようだ。

mysqld.exe と mysqld-nt の違いはあったけれど、これは NT 系の OS の違いということなのかな。

あ~、これでやっと MySQLAdministrator が問題なく起動してくれた。 ^^