もっと詳しく

XAMPPで構築したWordPressのデータベースが急に壊れた件

さっきまで使っていたWordPressが表示されなくなった!

WordPressでコーポレートサイトを作るために、テスト環境としてWindows10のパソコンにXAMPP(ザンプ)を入れてコツコツとサイトを作成していました。

ちなみにZAMPPとは、Apatch、MySQL、PHPなど、一般的なレンタルサーバーと同じ環境を簡単に構築できるフリーソフトです。これがあると、爆速でWEBサーバー環境が構築できます。また、WordPressモジュールのインストーラーもあり、簡単にWordPressを使い始めることができます。

今回、使用していたパソコンの環境は簡単に以下の通り。

  • Windows 10 64bit 21H1
  • 11th Intel Core-i7
  • 16GB RAM
  • NVMe SSD
  • XAMPP for Windows 7.3.30

この環境で約1ヶ月程度作業をしていたら、XAMPP上のApatchやMySQLを再起動しないとWordPressが反応しないことがありました。サービスを再起動すれば直るので、あまり深く考えずに作業していました。

ところが…。

データベースエラー発生!

さっきまで動いていたWordPressの画面にデータベースエラーの文字が表示されるようになりました。

Error establishing a database connection

Database Error
Error establishing a database connection

データベースエラー
データベース接続の確立中にエラーが発生しました

WordPressの管理画面やサイトも全部この画面しか表示されなくなりました。

  • パソコンの再起動
  • XAMPPの再起動
  • Apatch、MySQLサービスのStop&Start

これらをやっても復旧できなくなりました。

phpMyAdminも見れなくなった

途中まで、XAMPPコントロールパネルにあるMySQLの[Admin]ボタン押すと、phpMyAdminは表示さていました。今思えば、この時点でデータベースのバックアップを取って置けば良かったと後悔。なぜなら、この後にMySQLのサービスを開始させても数秒後にシャットダウンされてしまうようになったからです…。

何度、[Start]ボタンを押しても以下のようになりました。当然、phpMyAdminにもアクセスできなくなりました…。

XAMPPコントロールパネル

Error:MySQL shutdown unexpectedly.
This may be due to a blocked port, missing dependencies,
improper privileges, a crash, or 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 windows on the forrums

エラー:MySQLが予期せずシャットダウンしました。
これは、ポートがブロックされている、依存関係がない、などの理由によるものです。
不適切な権限、クラッシュ、別の方法によるシャットダウンなどが考えられます。
[ログ]ボタンを押すと、エラーログが表示されます。
Windowsイベントビューアで詳細を確認する。
より多くの手がかりのためのWindowsイベントビューア
もっと助けが必要な場合は、このログウィンドウ全体をコピーしてフォーラムに投稿してください。

このエラー文を元に、ポートの重複や、Windowsイベントビューアを確認してみましたが、解決に至りそうな情報を見つけることはできませんでした。

ログを見る

XAMPPコントロールパネルにあるMySQLの[Logs]ボタンを押すと、以下のログが表示されました。同じような[ERROR]が複数回ありました。

XAMPPのMySQLエラーログ

[ERROR] InnoDB: The innodb_system data file ‘idbdata1’ must be writable
[ERROR] InnoDB: innodb_system データファイル ‘idbdata1’ は書き込み可能でなければならない。

[ERROR] Plugin ‘InnoDB’ init function returned error.
[ERROR] プラグイン「InnoDB」のinit関数がエラーを返しました。

[ERROR] Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.
[ERROR] プラグイン’InnoDB’のSTORAGE ENGINEとしての登録に失敗しました。

[ERROR] Unknown /unsupported storage engine: InnoDB
[ERROR] 不明/サポートされていないストレージエンジン:InnoDB

[ERROR] Aborting
[ERROR] 中止します