XAMPPのMySQL(MariaDB)が起動できなくなってしまったとき、焦りますよね。
XAMPPのコントロールパネルで【STOP】して【Quit】で終了させずに、Windowsをシャットダウンしたりすると、時たま発生するようです。
19:33:47 [mysql] Error: MySQL shutdown unexpectedly.
19:33:47 [mysql] This may be due to a blocked port, missing dependencies,
19:33:47 [mysql] improper privileges, a crash, or a shutdown by another method.
19:33:47 [mysql] Press the Logs button to view error logs and check
19:33:47 [mysql] the Windows Event Viewer for more clues
19:33:47 [mysql] If you need more help, copy and post this
19:33:47 [mysql] entire log window on the forums
Windowsを再起動してみたり、ポートを3306から3307に変えてみたりと試してもダメな場合の手順をメモします。
MySQLのデータをバックアップ【重要】
まずはXAMPPにあるmysql\dataフォルダをバックアップします。
デスクトップでもどこでもよいので、まるっとコピーしましょう。
C:\xampp\mysql\data
このバックアップが無いと復旧できなくなる可能性が高いので、必ずバックアップして下さい。

dataフォルダ内のシステムファイルを削除
C:\xampp\mysql\data フォルダ内には、自分で作ったDBと、MySQLシステム側で作ったDBがあります。このうち自分で作っていないファイル・フォルダを削除します。
この時、自分で作ったDBのファイルを削除しないよう気を付けます。

システムファイルをbackupフォルダから復元する
C:\xampp\mysql\backup フォルダの中身を、先ほどシステムファイル群を削除したdataフォルダにコピーペーストします。
これはXAMPPが自動作成してくれるbackupファイルです。これでいったん起動できるようになりますが、現段階では自分で作成したデータベースにはアクセスしようとするとエラーになります。

とりあえずMySQLが起動できるようになったことを確認しましょう。

ibdata1 を復元する
上段でXAMPPコントロールパネルでMySQLを【STOP】させて下さい。
最初にデスクトップにコピーしておいたdataフォルダから
「ibdata1」を 「C:\xampp\mysql\data」 に上書きします。

これで自分で作成したDBにアクセスできるようになると思います。
