はじめに
XAMPPControllPanelでMySQLを使っていると、たまにMySQLでStartボタンを押してもエラーが出て止まることがあります。
このエラーの対処方法を紹介します。
2025-09-25
XAMPPControllPanelでMySQLを使っていると、たまにMySQLでStartボタンを押してもエラーが出て止まることがあります。
このエラーの対処方法を紹介します。
XAMPPControllPanelでStartボタンを押したとき、エラーが発生し、勝手にStop状態に戻ります。
このときのエラー文は以下の通りです。
Error: MySQL shutdown unexpectedly.
This may be due to a blocked port, missing dependencies,
improper privileges, a crash, or a shutdown by another method.
Press the Logs button to view error logs and check
the Windows Event Viewer for more clues
If you need more help, copy and post this
entire log window on the forums
日本語に翻訳するとこうなります。
エラー: MySQL が予期せずシャットダウンしました。
ポートのブロック、依存関係の不足、不適切な権限、クラッシュ、または別の方法によるシャットダウンが原因の可能性があります。
[ログ] ボタンを押してエラーログを表示し、Windows イベント ビューアーでさらに詳しい情報を確認してください。
さらにサポートが必要な場合は、このログ ウィンドウ全体をコピーしてフォーラムに投稿してください。
エラー文を見る限り、ポート関係または依存関係か何らかの影響によるクラッシュと分かります。
ポート関係はいじっていないので、データを復旧する方向でアプローチしてみました。
データを復旧させます。
まず、私のMySQLには自分で2つのデータベースを作っていました。
・cms
・cms_demo
残りのファイルはデフォルトで存在していた物です。
xampp\mysql\dataフォルダを一旦別の場所にコピーして待避させます。
その後、xampp\mysql\dataフォルダの中身を全て削除します。
【画像で補足】
xampp\mysql\dataフォルダです。
これをまるごとコピーして別の場所に置きます。
私はデスクトップに置きました。
コピーが終わったら、xampp\mysql\dataフォルダの中身を全て削除します。
xampp\mysql\backupフォルダの中身を全てコピーし、xampp\mysql\dataフォルダの中へ貼り付けます。(待避させた方ではなく、全部削除した方に貼り付けます)
【画像で補足】
xampp\mysql\backupフォルダです。
この中身を全てコピーします。
コピーしたら、先程中身を全て消したxampp\mysql\dataフォルダに貼り付けます。
ここで一度MySQLを起動してみます。
Startボタンを押した後、緑色になっていれば成功です。
phpMyAdminを見てみましょう。
アクセスには成功しますが、自分で作ったデータベース情報が存在しません。
次は自分で作ったデータベースを復旧させます。
1で待避させたdataフォルダから、自分で作成したデータベースのフォルダとibdata1ファイルをコピーして、xampp\mysql\dataの中に貼り付けます。
【画像で補足】
待避させたdataフォルダから、自分で作成したデータベースのフォルダ(cms, cms_demo)とibdata1ファイルをコピーします。
xampp\mysql\dataに貼り付けます。
ibdata1ファイルは既に存在するので、置き換えます。
再びphpMyAdminを開いてみます。
更新すると、自分で作成したデータベースが戻っているはずです。
これで復旧完了です!
今回はXAMPPでMySQLを押してもStartできない問題の解決方法を紹介しました。
なぜこの方法で復旧できるのか?を解説しているので、あわせてご覧ください。