XAMPPのMySQLが突然起動できなくなった

※当サイトでは広告を掲載しています

ある日の朝、XAMPPでインストールしたDBが起動できなくなっていました。XAMPPコントロールパネルから手動で起動を試みるも、パネル上には以下のエラーメッセージ。

[mysql] Error: MySQL shutdown unexpectedly.
[mysql] This may be due to a blocked port, missing dependencies,
[mysql] improper privileges, a crash, or a shutdown by another method.
[mysql] Press the Logs button to view error logs and check
[mysql] the Windows Event Viewer for more clues
[mysql] If you need more help, copy and post this
[mysql] entire log window on the forums

MySQLのエラーログを見てみると…。

[Note] Starting MariaDB 10.4.32-MariaDB source revision ****** as process 13908
[Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
[Note] InnoDB: Uses event mutexes
[Note] InnoDB: Compressed tables use zlib 1.3
[Note] InnoDB: Number of pools: 1
[Note] InnoDB: Using SSE2 crc32 instructions
[Note] InnoDB: Initializing buffer pool, total size = 16M, instances = 1, chunk size = 16M
[Note] InnoDB: Completed initialization of buffer pool
[Note] InnoDB: 128 out of 128 rollback segments are active.
[Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
[Note] InnoDB: Creating shared tablespace for temporary tables
[Note] InnoDB: Setting file 'C:\xampp\mysql\data\ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
[Note] InnoDB: File 'C:\xampp\mysql\data\ibtmp1' size is now 12 MB.
[Note] InnoDB: Waiting for purge to start
[Note] InnoDB: 10.4.32 started; log sequence number 386289; transaction id 390
[Note] InnoDB: Loading buffer pool(s) from C:\xampp\mysql\data\ib_buffer_pool
[Note] Plugin 'FEEDBACK' is disabled.
[Note] Server socket created on IP: '::'.

Noteとしていろいろ出力されていますが、引っかかるのは「Plugin 'FEEDBACK' is disabled.」という行。ただ、これだけじゃ何だかわからず。

…と、ちょうどこのログを見始めたところへ、別件の用事でMySQLに詳しい人が来てくれたので、これはチャンス!とばかりに聞いてみました。

Windows11上のXAMPPだと、たまにある症状のようで、簡単な解決方法を教えてくれたのでメモメモ。

解決方法

まず前提として、XAMPPのインストール先が「C:\xampp」になっていること。別の場所にインストールしている場合は、適宜読み替えを。

  1. 「C:\xampp\mysql」フォルダの内容をそっくり別の場所へコピーする。mysqlフォルダごとコピーでOK。
    ここでは、コピー先を「C:\xampp\mysql_copy」とします。
  2. 「C:\xampp\mysql\data」フォルダの中を全て削除します。dataフォルダ自体は残しておき、フォルダの中身だけを削除です。
  3. 「C:\xampp\mysql\backup」フォルダの中身をすべて、「C:\xampp\mysql\data」の中へコピーします。
  4. 「C:\xampp\mysql_copy\data」フォルダの中にある「ibdata1」を、「C:\xampp\mysql\data」の中へ上書きコピーします。
  5. 「C:\xampp\mysql_copy\data」フォルダの中から、自分が作成したDB名のフォルダを全て「C:\xampp\mysql\data」の中へコピーします。

以上の作業を終えたら、XAMPPコントロールパネルからMySQLをStart。正常に動けば問題解決です。

さいごに

ということで、ある日の朝、いつも通りXAMPPを起動したら、MySQLが起動できなくなっていたので解決した、というお話でした。

今回はMySQLが取り扱うデータの一部が壊れてしまったことが原因だと思われますが、他の原因で起動できなくなってしまうことも多々あるんですよね。XAMPPは、環境を構築するまではとても簡単なのですが、運用中の問題が多いな、という印象。

なので、もしも今回の解決方法でも正常に動かない場合は、別の問題を抱えている可能性があります。エラーログを参考に、別方面からの調査が必要になるでしょう。

今日の作業は以上です。お疲れ様でした!

初稿:2025年7月22日

コメント

タイトルとURLをコピーしました