XAMPPのMySQLが突然起動しなくなり、サイトや開発環境が止まってしまうトラブルはよくあります。特に、XAMPPの強制終了などでMySQLのデータが壊れやすいのが原因です。
この記事では、XAMPP本体の再インストール以外で復旧に成功した方法を具体的な事例とともにご紹介します。さらに、問題発生時のエラーログの確認方法も解説します。
なぜMySQLが起動しなくなるのか?
XAMPPのMySQLは、突然の強制終了やシャットダウンでデータが破損しやすい仕様です。特に
ibdata1
ファイルの破損aria_log
関連のファイルの不整合
などが原因となることが多いです。
MySQLのエラーログを確認する方法
MySQLが起動しないときは、まずエラーログを確認して原因を調査するのが重要です。
エラーログの場所
通常、XAMPPのMySQLのエラーログは以下の場所にあります。
C:\xampp\mysql\data\mysql_error.log
または
C:\xampp\mysql\data\<コンピュータ名>.err
(XAMPPのバージョンや設定によってファイル名が異なる場合があります)
エラーログの確認手順
- エクスプローラーで
C:\xampp\mysql\data
フォルダを開く mysql_error.log
または.err
拡張子のファイルをテキストエディタ(メモ帳やVSCodeなど)で開く- ログの末尾部分(最新のログ)にエラー内容が記録されています。起動失敗の理由やファイルの破損などのヒントが見つかります。
- ChatGPTやGeminiにコードを送って、エラー内容の詳細を確認するとわかりやすいです。
復旧方法 事例01:データの退避&バックアップからの復元
- MySQLのデータフォルダをまるごと退避
C:\xampp\mysql\data
フォルダ内の全ファイル・フォルダを別の安全な場所にコピーします。 - WordPressなど、自分で作成したデータベースフォルダを削除
C:\xampp\mysql\data
内にある自分で作ったデータベースフォルダ(WordPressのデータベース名のフォルダなど)をすべて削除します。 - バックアップデータの上書き
C:\xampp\mysql\backup
にある全ファイルをC:\xampp\mysql\data
にコピーし、既存ファイルを上書きします。 - 退避しておいたデータベースフォルダを戻す
1で退避していたデータベースフォルダをC:\xampp\mysql\data
に戻します。(主に2で削除したフォルダ) - 超重要:退避していた
ibdata1
ファイルを戻す
1で退避しておいたibdata1
ファイルをC:\xampp\mysql\data
に上書きコピーします。
復旧方法 事例02:aria_logファイル削除による再起動
XAMPPのMySQLデータフォルダ内の以下のファイルを削除すると起動することがあります。
C:\xampp\mysql\data\aria_log.00000001
C:\xampp\mysql\data\aria_log_control
削除前に必ずバックアップを取ってください。
まとめ
- MySQLが起動しないときは、まずエラーログを確認し原因を把握する。
- 重要なファイルである
ibdata1
を誤って削除・上書きしないよう注意する。 aria_log
関連ファイルの削除も試す価値がある。- それでも復旧できない場合はXAMPPの再インストールを検討。