奥用に作ってあるWordPressサイトについて、Google Search Consoleから「サーバーエラー(5xx)」の通知が届いていました。
「なにこれ?」と聞かれたので、とりあえずサイトを見てみたら、「データベース接続確立エラー」という表示だけに。。。
調べてみたら、データベースの一部が破損していたようで、接続ができないようになっていました。
phpMyAdminを使って、破損していたデータベースの項目(テーブル)を修復したら直りました!!
地味に厄介な感じだったので、備忘的に共有です。
「データベース接続確立エラー」の原因
とりあえず、データベースで何かが起きていることはわかっていますが、なぜなのかわからないのでググってみたら、詳しく説明してくれている記事を発見しました。
原因として考えられるのは、以下の4つが多いようです。
- 「wp-config.php」の入力ミス
- サーバー側の問題
- データベース側の問題
- サイトがハッキングされている
ハッキングとかは、嫌ですよね。。
で、それぞれ見ていったのですが、原因は「データベース側の問題」というのがわかりました。
データベースの1テーブルが「使用中」のまま
問題が起きたサイトは、Xserverを使っていたので、サーバー管理画面(サーバーパネル)にログインして、「データベース」のところにある「phpmyadmin(MariaDB10.5)」をクリックします。
ログインには、ID・パスワードが必要なので、設定したものを入力して、問題が起きたサイトのデータを見てみたら、「XXXX_options」というテーブルが「使用中」になったままでした。
こいつが原因ですね。
試しに、「表示」をクリックしてみたら、以下のような注意書きがポップアップして表示されました。
「XXXX_options」がクラッシュしてて、自動修復?には失敗していたようです。
「データベース接続確立エラー」の復旧
データベースの修復をしてみる
壊れている「XXXX_options」の行にあるチェックボックスにチェックを入れると、全項目の下にあるドロップダウンで「チェックしたものを:」という選択肢を選べるようになります。
中を見ていくと「テーブルを修復する」というのがあるので、これをやって見れば修復できるかもしれません!
データベースのバックアップ
ただ、元データになにかする前には、バックアップしておきます!
ちなみに、「ドロップダウン」の中にある「エクスポート」でも、バックアップすることが可能でした。
バックアップデータが準備できたら、「テーブルを修復する」を選択して、、、、、
すぐに復活しました!
「XXXX_options」のテーブルに表示されていた「使用中」がなくなり、他と同じ様になりました。
テーブル復旧後の確認
早速、問題が起きたサイトを確認してみたら、普通に表示されるようになり復旧できました。
ちなみに、データベースのバックアップをしていたので、生データ自体も比較してみました。
DLしたデータをテキストエディタで開いてみると、「XXXX_options」のテーブルのところに、違いがありました。
エラー状態では、「データ読み込みエラー」と表示されているのですが、復旧後では、内容が表示されていて、800行ぐらいの記載が続いていました。
「データベース接続確立エラー」がXサーバーのWordPressサイトで起きた!解決済み! のまとめ
エックスサーバーのWordPressサイトで起きた「データベース接続確立エラー」ですが、どうにか復旧することができました。
問題が起きたこのサイトですが、直近で記事作成やサイトの修正などは行っておらず、、、最近で思いつくのは、FTPで行ったデータのバックアップか、、、BackWPupの自動バックアップですかね。。
意図的になにかしたから起きた問題ではなく、どちらかと言うと放置していたサイトで起きた問題でした。
通常利用している他のサイトでは、同様の問題は起きなかったので、大きな問題にはならなかったので良かったのですが、突然起きるこんなトラブルのためにも普段からのバックアップは大事でしょうね!
とりあえず、復旧が簡単で良かった〜! そして同じことが起きた方の参考になれば幸いです!
コメント