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のバージョンや設定によってファイル名が異なる場合があります)

エラーログの確認手順

  1. エクスプローラーで C:\xampp\mysql\data フォルダを開く
  2. mysql_error.log または .err 拡張子のファイルをテキストエディタ(メモ帳やVSCodeなど)で開く
  3. ログの末尾部分(最新のログ)にエラー内容が記録されています。起動失敗の理由やファイルの破損などのヒントが見つかります。
  4. ChatGPTやGeminiにコードを送って、エラー内容の詳細を確認するとわかりやすいです。

復旧方法 事例01:データの退避&バックアップからの復元

  1. MySQLのデータフォルダをまるごと退避
    C:\xampp\mysql\data フォルダ内の全ファイル・フォルダを別の安全な場所にコピーします。
  2. WordPressなど、自分で作成したデータベースフォルダを削除
    C:\xampp\mysql\data 内にある自分で作ったデータベースフォルダ(WordPressのデータベース名のフォルダなど)をすべて削除します。
  3. バックアップデータの上書き
    C:\xampp\mysql\backup にある全ファイルを C:\xampp\mysql\data にコピーし、既存ファイルを上書きします。
  4. 退避しておいたデータベースフォルダを戻す
    1で退避していたデータベースフォルダを C:\xampp\mysql\data に戻します。(主に2で削除したフォルダ)
  5. 超重要:退避していた 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の再インストールを検討。