🤔

XAMPPでMySQLサービスが起動しない場合の復旧方法

2023/07/03に公開
2

数日ぶりに、XAMPPでMySQL(実態はMariaDB)のサービス起動を試みたところ、
「Error: MySQL shutdown unexpectedly.」等のエラーメッセージが出力され、
直後に停止してしまうケースに対する改善策の一つをメモとして残します。


XAMPPのコンソール上に表示されたエラー

まずはエラーメッセージ内容より何かしらのプロセスが3306番ポートを利用している可能性を考慮し、XAMPPの「Netstat」ボタンからポートの利用状況を確認しました。確認結果として3306番ポートは他のプロセスに利用されていませんでした。

なお、MySQLの「Logs」ボタンから確認できるログは以下の通りとなっていました。

Mysql_error.log

※当記事の環境では、「D:\Develop\」配下にxamppを導入しております。

ログに残されていた以下のメッセージを中心に対処方法を検索してみましたが、最終的に再インストールをしないと復元できなかったという記事が多々見受けられました。

しかしながら、根本的な原因は対象サービスが起動したまま Windows をシャットダウンしたことによるファイル破損にあるのではないかと想定し、自動的に作成されたバックアップファイルからの復元を試みてみることとしました。


実施した手順:

  1. 「XAMPP」インストールフォルダ内の「mysql」フォルダをコピーし、任意の場所に復旧前データのバックアップを実施。
  2. 「mysql」フォルダ内にある「data」フォルダの中を確認し、自身で作成したDB名のフォルダ以外をすべて削除。
  3. 「mysql」フォルダ内にある「backup」フォルダの中身をすべてコピーし、「mysql」フォルダ内にある「data」フォルダの中に貼り付ける。
  4. 「項番1.」でバックアップしたフォルダ内の InnoDB データファイル「ibdata1」を「mysql」フォルダ内にある「data」フォルダの中に貼り付ける。
    5.「XAMPP」よりMySQLを開始。

当方の環境においては、上記の手順で自動的にバックアップされていたファイルを基に、破損したファイルを復元することで無事にMariaDBサービスの復旧が出来ました。

上記は一つの事例とはなりますが、困った際には一つの可能性としてご参照ください。
※作業は自己責任にてご対応ください。

Discussion

ネギシネギシ

あなたの記事のおかげで同様の問題を解決することができました。
ありがとうございます。

鬼滅の八重歯鬼滅の八重歯

今朝、いきなり初めてのMariaDBエラーがでて、
エラーログの一部でググってたどり着きました。
解決出来ました。
お礼をしたく、ZENNにも登録させていただきました。
ありがとうございます。