MySQLが起動しなくなったときの対処法まとめ
使用環境
windows 10 Home(COREi7)
XAMPP 7.3.18
背景
いつも通りに開発を行おうとしたところ、突如として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
試したこと
- Apacheの再起動
- PC再起動
- ポートの競合確認
- エラーログ確認
- 異常があった際に発生するごみファイルib_***ファイルの削除
-
C:\xampp\mysql\data
内のデータをbackup内のデータに上書き - ユーザー認証を飛ばしてMySQLを起動
Apacheの再起動
とりあえずやってみた。
まるで意味なし
PC再起動
こちらもとりあえずやってみた。
同じく意味なし
ポートの競合確認
まずはポートが競合している可能性を考え、ポートの確認。
XAMPP右欄のNetstatをクリックする。
こんな感じで一覧が表示されるので被っているポートがないか確認。
結果、競合するものはなかった
エラーログ確認
MySQLのLogsからmysql_error.logを開き、エラーが出ていないか確認。
異常があった際に発生するごみファイルib_***ファイルの削除
ごみファイルとされるものが邪魔している可能性があることからC:\xampp\mysql\data
内のib_logfile0とかib_logfile1みたいなファイルを削除。
XAMPPでMySQLが起動しないときにすべきこと(参考)
結果、MySQLは起動できず
C:\xampp\mysql\data
内のデータをbackup内のデータに上書き
C:\xampp\mysql\data
内の次のフォルダmysql, performance_schema, phpmyadmin, test
をどこかにコピーしておいて、backupフォルダから同じフォルダをコピーしてくる。
xamppのMySQLがshutdownエラーで起動できない、タスクキルでもport変えても直らないのをようやく解決できた話
結果、MySQLは起動せず
ユーザー認証を飛ばしてMySQLを起動
ユーザー認証のユーザーテーブル自体が壊れている可能性を考え(という風に教えていただき)ユーザー認証をスキップして起動する方法をとる
C:\xampp\mysql\bin
フォルダ内のmy.iniを開き、[mysqld]の欄にskip-grant-tables
の一文を加える。
恐らくできる限りの対処は尽くした...!
が、MySQLは起動してくれない。
諦めてXAMPPの再インストールをしようと思う