XAMPPでMySQLがStart→Stopになる時の原因と対処方法

2022-01-05

wikiの導入テストや諸々の開発環境を簡単に構築したいので、普段はWindwos10にXAMPPをインストールして使っています。

トラブルは急に起こるもの

先日、いつものようにXAMPPを起動し、Apache→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

困ったことになりました。

念のためlogを確認

コンソールからmysql_error.logを確認します。

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

log上はエラー無し、本格的に困ったことになりました。

困った時はGoogle検索

何かヒントは無いかと調べてみたところ、以下のサイトを見つけました。

とは言えXAMPPだとmysqldumpか、フォルダごとコピーのどちらかになると思います。個人的にはmysqldumpがリストア環境が変わっても対応できるので、融通が利きやすくて良いと思っています。

参考サイト:mysqldumpの使い方まとめ

自動起動・定時シャットダウンでの運用

別のファイルサーバー機ではXAMPPを自動起動・定時シャットダウンでwikiを運用しているため、慌ててシャットダウン前にMySQLをstopするようにしました。

難しいことは何もしていなく、定時シャットダウンのバッチファイルに停止コマンドを追加しただけです。今後は、バックアップも定時シャットダウンに組み込んで安心運用をできるようにしたいと思います。

追記:自動シャットダウン時にバックアップを追加しました。