XAMPPでMYSQLを起動しようとして「START」ボタンを押しても、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] 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
まずはエラーメッセージにあるとおり、ログファイルをみてください。
XAMPPの「LOGS」ボタンをクリックすると、ログファイルが表示されます。
ログファイルの一番下のエラーメッセージを使って検索してみましょう。
ただ、ドンピシャで正解がなかったりもします。
また、わたしは下記のメッセージが出ましたが、色々手を尽くしたものの、うまくいきませんでした。
[Note] Plugin ‘FEEDBACK’ is disabled.
[Note] Server socket created on IP: ‘::’.
[Note] Server socket created on IP: ‘::’.
ブラウザには、データベースと接続ができないため、「対象のコンピューターによって拒否されたため、接続できませんでした。」とでてきます。
わたしと同様、どうもうまくいかない場合には下記の方法を試してみてください。
- XAMPPを閉じます。
- C:\xampp\mysqlの中のdataフォルダをバックアップ用にコピーしておきます。「backup_data」等、別名にしておきます。
- C:\xampp\mysql\backupの中のファイルをすべてコピーします。
- C:\xampp\mysql\dataの中に、3でコピーしたファイルを上書き保存します。
上記について、説明しますね。
C:\xampp\mysql\dataの中に、これまでのデータが入っています。この中のデータが元で、エラーが発生していると考えられます。
そこで、バックアップファイルを使って、C:\xampp\mysql\dataの中のファイルを元の状態に戻します。
この状態で一度XAMPPのMYSQLの「START」ボタンを押してみてください。
無事起動すれば成功です。
ただ、この状態だとこれまでのデータが反映されていません。これまでのデータを反映するには、再びXAMPPを停止させます。
その上で、下記手順を行ってください。
- C:\xampp\mysql\backup_dataの中のibdata1をコピーします。
- C:\xampp\mysql\dataの中のibdata1を、1のファイルで上書き保存します。
以上です。
なおXAMPPは、きちんと停止させておかないとエラーになったりします。
XAMPPの閉じ方については、下記記事の「XAMPPを閉じるときの注意点」を参考にしてくださいね。