WordPressで「データベース接続確立エラー」が起きた時の対処と対策
WordPressサイトは閲覧時に「データベース接続確立エラー」とだけ表示されるようになることがあります。 これはデータベースとWordPressの接続が何らかの理由で正常にできていないために起きるエラーで、運営者が対処しなければ改善されない場合もあります。
初見でこのエラーを見ると面食らいますが、大したことない症状の場合も多いです。 私がデータベース接続確立エラーに遭遇した時の対処方法を書いておきます。
エラー発生状況別の対処方
システムを修正したらエラーになった場合
システムの修正中にこのエラーが出た場合、あなたの修正内容に問題があった可能性が高いです。 特にWordPressとデータベースの接続設定を記述する「wp-config.php」を修正して起きたのなら怪しいです。
他にもデータベースのパスワードを変更したけど設定ファイル側では変更していなかった、追加したプラグインがおかしな挙動を起こしているなども考えられます。 いずれにせよ、システム修正によって出たのならまず変更内容を疑いましょう。
こういった場合は一旦修正前の状態に戻して様子を見ると良いです。 システム修正の際には必ず修正前の状態に戻せるようにバックアップはしておきましょうね。
何もしていないのにエラーになった場合
特に何もしていなくてもエラーが出る場合もあります。 原因はトランザクションのデッドロック、データベースが壊れた、サーバー側のトラブル、メモリ不足などいくつか可能性が考えられます。
このサイトでも時々起きているのですが、状況としてDBがダウンしていることが多いです。 その場合はDBサービスをスタートしてやれば復旧します。
このエラーは起きる時は起きるので、システムに触ってないのに接続確立エラーが起きた時は深く考えずにサーバを再起動してみるのも悪い手ではありません。 私はこのエラーを見たらとりあえず再起動してみて、大抵はそれで解決しています。
ただ再起動で復旧した場合でも、サーバーの各種ログは確認しておいた方が良いです。 何者かに攻撃された結果ならセキュリティ対策が必要ですし、サーバーのキャパシティ不足なら構成の見直しやサーバープランのアップグレードの検討が必要になるでしょう。
上記対処で解決しなかった場合
とりあえず落ち着いて、まずはWordPressとデータベースをバックアップしましょう。 データベース接続確立エラーは文字通りデータベースとの接続部分で起きているので、データ自体は無事である可能性が高いです。 エラーだからと変に焦ってデータを消去してしまうのではなく、保全してサルベージできるようにしておきましょう。
その後は原因を究明するなり、エラー発生前のものに差し替えて差分を埋めるなりして対処するなりしましょう。 この辺の対処は原因によってケースバイケースなので何とも言えませんが。
本エラーに限りませんが、WordPressはエラーでまともに表示されなくなったりハッキングされてサイトを改竄されたりしてもデータ自体は無事なことが多いです。 挙動が変になったからといきなり削除するのではなく「まずバックアップ」と覚えておきましょう。
データベース接続確立エラーの予防法
キャパシティ不足の対策
WordPressを運用しているとリビジョン、下書き、スパムコメントなどのゴミが貯まっていたり、削除したプラグインのデータが残っていたりなどでデータベースが肥大化してパフォーマンスが落ちることもあります。データベース接続確立エラーはキャパシティ不足によって発生することもあるので、こういった状況は好ましくありません。
データベースを定期的にクリーンアップすることを心がけておきましょう。 WP-DBManagerやWP-Optimizeなどのプラグインを利用しての掃除もおススメです。
システムを最新の安定板にする
システムのバージョンアップによって解消する可能性もあります。 うちのサイトではPHP5の時はエラーが頻発していましたが、PHP7にアップデートしたらエラーがなくなりました。
性能やセキュリティの観点から、システムは最新の安定板にしておくべきです。 定期的なアップデートを心がけましょう。