ある日、いつも通り XAMPPからMySQLを起動しようとしたら、突然 次のエラー が・・・
1 2 3 4 5 6 7 8 9 10 |
7:48:37 [mysql] Attempting to start MySQL app... 7:48:40 [mysql] Status change detected: running 7:48:53 [mysql] Status change detected: stopped 7:48:53 [mysql] Error: MySQL shutdown unexpectedly. 7:48:53 [mysql] This may be due to a blocked port, missing dependencies, 7:48:53 [mysql] improper privileges, a crash, or a shutdown by another method. 7:48:53 [mysql] Press the Logs button to view error logs and check 7:48:53 [mysql] the Windows Event Viewer for more clues 7:48:53 [mysql] If you need more help, copy and post this 7:48:53 [mysql] entire log window on the forums |
Error : MySQL shtdown unexpectedly. なんてエラーメッセージは初めて見たので困惑
どうやらこのエラーは前回XAMPPを正しく終了しなかった場合などに発生するみたいです。
なんとか解決策を見つけたので、XAMPPからMySQLが起動できない時の対処法をまとめました。
このページの目次
MySQL shutdown unexpedtedly の解決手順
実際に自分自身が試した手順は次の通り
1.まず ibdata1 ファイルを削除
まず初めにMySQLのデータが格納してあるディレクトリへアクセス
その場所はXAMPPインストール場所を変更してないなら C:\xampp\mysql\data です。
アクセスしたら iddata1 というファイルが見つかりませんか?
それを削除してしまいましょう。
▼ ibdata1 を削除!
この ibdata1 はMySQLのストレージエンジン InnoDB のデータを保存しておくファイル
前回終了時に何らかのアクシデントがあると ibdata1 を正しく開けなくなるようなので、いったん削除しておかないとダメみたいです。
まあ削除するといっても実際のDBデータは別フォルダに保存されてるので心配いりません、
もし心配なら一時的に別ディレクトリにバックアップとか取っておくと安心です。
2.ib_logfile から始まるログファイルを全て削除
お次も C:\xampp\mysql\data での作業です。
ここにある ib_logfile で始まるログファイルを全て削除してしまいましょう。
これも次みたいに一気に削除してしまってOKです。
▼ ib_logfile1 とか ib_logfile101 みたいなのを全部削除
ログファイルと名前がついてるものの、これも削除してあげないと正常に起動できなくなってしまうみたいです。よく分からないけどXAMPPが起動できないと困るので勇気を出して削除
3.最後にXAMPP(MySQL)を再起動
そうしたら最後にXAMPPコントロールパネルからMySQLだけ再起動します。
その結果・・・よかった、無事に起動できた...(T_T)
▼ 起動できてホッと一息
上の画像で緑色で囲んだように、PID(s) と Port(s) に番号が割り振られていれば起動成功です。
こういうエラーはヒヤッとしますね。心臓に悪い
XAMPP関連ならこちらの記事も役に立つかも
XAMPPを使ってると結構色々な問題に遭遇すること多いです。
なので、そういう他のエラーとかトラブルについても次記事で色々書いてます。
もし困った時はご覧ください。100%解決するとは限らないですが、問題解決の助けにはなるかも
また本当に困った時は テラテイル(teratail) や Stack Overflow などで質問してみることも大事です。
自分でうんうん考えるより早く問題解決できます。(もちろん回答者の方も忙しいので、回答をもらったらお礼は忘れないことも大事!)
ここまでのまとめ
以上、XAMPPで "MySQL shutdown unexpectedly" エラー が出たときの対処法でした。
こういうエラーはタスクマネージャーからプロセスを強制終了したときに起こりやすいので、正しい方法で終了する癖をつけておいた方がいいですね。これからの教訓にしたいと思います。