- PHP
- 2022-04-15 - 更新:2022-10-04
この記事は最終更新日から1年以上経過しています。
XAMPPを使って開発をしていると、たまにMySQLがエラーで起動できなくなることがあります。
これまで同じ現象を2台のPCで経験しましたので、今後のためにも色々調べてみた中からなるべく簡単に戻せる方法をご紹介します。
まずはXAMPPでMySQLをスタートさせようとするとこのようなエラーが発生します。
エラー内容
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が予期せずシャットダウンしました。 これは、ブロックされたポート、欠落した依存関係、不適切な特権、クラッシュ、または他の方法によるシャットダウンが原因である可能性があります。 不適切な特権、クラッシュ、または他の方法によるシャットダウンが原因である可能性があります。 Logs ボタンを押してエラーログを表示し、Windows Event Viewer をチェックしてください。 Windowsイベント・ビューアーを確認してください。 さらに詳しい情報が必要な場合は、以下のログウィンドウをコピーしてフォーラムに投稿してください。 ログウィンドウ全体をコピーしてフォーラムに投稿してください。
別のサービスが同ポートを使用しているか、ファイルが破損していることが原因のようです。
私の場合は同ポートを使っているサービスはなかったので、データの復元を試みたところ解決しました。
xampp\mysql\data
フォルダーを一旦別の場所にコピーしておきます。
コピー出来たらxampp\mysql\data
の中身を全て削除します。
xampp\mysql\backup
の中身を全てコピーし、
これで一旦MySQLを起動してみましょう。
無事に起動できました。
xampp\mysql\data
フォルダーにmysql.pid
ファイルが出来ていることを確認できればOKです。
最後に、最初にコピーしておいた元のdata
フォルダーから、自分で作成していたデータベースのフォルダーとibdata1
というファイルをコピーしてxampp\mysql\data
に貼り付けます。
MySQLのAdminボタンからphpMyAdminを開き、データベースが復元出来ているか確認しましょう。
無事に復元出来ていれば完了です。
ちなみに、MySQLのデータベース以外の設定(ユーザーアカウント等)は復元されませんのでご注意ください。
12,872 views
先ほど、同様の事象に遭遇し、貴サイトの記事のお力により無事起動することができました。感謝申し上げます。
コメントありがとうございます。
お役に立てて何よりです。
今朝起きたら、同様の惨事になってまして、ネット徘徊の後、こちらの記事に到達。
助かりました。
https://pagetaka.hatenablog.jp/entry/2022/10/02/065954
コメントありがとうございます。
お役に立てて良かったです。