ラボ > サーバ:Xampp

Xampp Mysqlが起動しない

正確にはMysqlが「起動するけど、すぐ落ちる」という状況

作成日:2019-10-25, 更新日:2022-07-22

結論

・Xamppの再インスト。

経緯

・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

PortかMysqlが起動中の扱いになっているか、壊れたか・・・って感じのエラーメッセージ。
で、「詳しくはログファイル見てね」っていう感じ。

▼そのときのログファイル

2019-10-25  9:35:20 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2019-10-25  9:35:20 0 [Note] InnoDB: Uses event mutexes
2019-10-25  9:35:20 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2019-10-25  9:35:20 0 [Note] InnoDB: Number of pools: 1
2019-10-25  9:35:20 0 [Note] InnoDB: Using SSE2 crc32 instructions
2019-10-25  9:35:20 0 [Note] InnoDB: Initializing buffer pool, total size = 16M, instances = 1, chunk size = 16M
2019-10-25  9:35:20 0 [Note] InnoDB: Completed initialization of buffer pool
2019-10-25  9:35:22 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
2019-10-25  9:35:22 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2019-10-25  9:35:22 0 [Note] InnoDB: Setting file 'D:\xampp_php7\mysql\data\ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2019-10-25  9:35:22 0 [Note] InnoDB: File 'D:\xampp_php7\mysql\data\ibtmp1' size is now 12 MB.
2019-10-25  9:35:22 0 [Note] InnoDB: Waiting for purge to start
2019-10-25  9:35:22 0 [Note] InnoDB: 10.3.16 started; log sequence number 37640667; transaction id 18584
2019-10-25  9:35:22 0 [Note] InnoDB: Loading buffer pool(s) from D:\xampp_php7\mysql\data\ib_buffer_pool
2019-10-25  9:35:22 0 [Note] Plugin 'FEEDBACK' is disabled.
2019-10-25  9:35:22 0 [Note] Server socket created on IP: '::'.

エラーログを見て分かることは・・・何がダメなのかが分からんってコト。
唯一「Plugin 'FEEDBACK' is disabled.」がエラーっぽいメッセージ。

復活させるまで

色々調べながら試してみた

Plugin 'FEEDBACK' is disabled.

軽く調べるのも意味不明・・・ひとまず保留。
簡単なモノから確認していく。

タスクの確認

タスクマネージャーから「mysql」を探す。
見つかったら終了させて、Xamppから再度起動して確認。
→タスクマネージャーに「mysql」が見つからないので、たぶん別の理由

PC再起動

困ったらひとまずPC再起動。
→状況に変化なし

管理者権限で起動

Xamppを起動するときに管理者権限で起動
→状況に変化なし

ログファイル削除

自己責任で。

「xampp」フォルダ内の「mysql\data」の「myqsl_error.log」「ipdata1」と「ib_〇〇〇」を削除。
→状況に変化なし

Portの確認

「xampp」フォルダ内の「mysql\bin\my.ini」から「port」の値を確認
→私の場合は「3306」がportに設定されていた(2ヵ所あったが共に「3306」)

「CMD」で「netstat -n」で「3306」が使われているか確認
→使われていなかった。

Portの変更

「3306」が使われていないので関係ないと思うのだが、念のために試す。
「xampp」フォルダ内の「mysql\bin\my.ini」から「port」の値を「3366」で試す
→状況に変化なし

Xamppの再インスト

この段階ではまだ試したくない・・・
エラーログにあった「Plugin 'FEEDBACK' is disabled.」を再度調べる

「Plugin 'FEEDBACK' is disabled.」を再度調べる

「xampp」フォルダ内の「mysql\backup」を「mysql\data」にコピーすればOKという情報を見かけたので試す

▼手順
1.「mysql\data」をどっかにコピペ(まずはバックアップ)
2.「mysql\data」にある自分で作ったdbのみ残して他削除(→「フォルダ:mysql、performance_schema、phpmyadmin、test」と全ファイル)
3.「mysql\backup」を「mysql\data」にコピー
4.XamppからMysql起動

起動はした・・・でもdbたちが使えない。

▼db内のテーブルを見ようとしたときのエラー。

#1932 - Table 'db名.table名' doesn't exist in engine

修復を試みるも同様のエラーが返ってくる。
復旧自体は無理っぽい。外国の情報を漁りまくれば解決策があるかもしれない。

挫折・・・dbの作り直し

復旧自体は挫折。あきらめてdbを作り直すことにしようとしたが・・・結局は諦めた・・・

※削除時のメモ:「mysql\data」にdbの設定があるので対象のdbを削除するときはココのファイルも削除する必要があるらしい

Xamppの再インストの実行

まずは・・・必要なデータの退避。
・htdocs内にいれているファイルたち
・Xamppでメールの設定の絡みがあったので「php\php.ini」「sendmail\sendmail.ini」

関連項目