WordPressで「データベース接続確立エラー」が発生!

WordPress

WordPressで投稿を作成し、画像を入力中、「データベース接続確立エラー」が発生し、プログサイトが動かなくなりました。

今回は、そのエラーを回復した方法を報告します。

エラー理由の解析

ChatGPTで調査

まずは、ChatGPTで「データベース接続確立エラー」で原因を聞きました。

以下がその結果。

    ①wp-config.php ファイルの設定ミス:データベース名、ユーザー名、パスワード、ホスト名に誤りがある。
    ②データベースサーバーの問題:データベースサーバーがダウンしているか、負荷が高い。
    ③ユーザーアカウントの権限不足:データベースに接続するユーザーに十分な権限がない。
    ④データベースの破損:データベース自体が破損している。

    今まで動いていたので、①と③は考えられない。
    ④も、急にデータベースの破損が破損することも考えられません。

    ②の「データベースサーバーがダウン」がこの中では可能性があります。

    そこでレンタルサーバーのmixhostを調査することにしました。

    mixhostを調査

    mixhostの「障害・メンテナンス情報」を見ても、データベースサーバーに障害は発生していませんでした。

    仕方がないので、問い合わせフォームで質問することにしました。

    しかし、「件名」に「データベース接続確立エラー」を入力すると、関連記事として「「データベース接続確立エラー」が発生する場合の対処方法」というページがあることがわかりました。

    その中で「データベースを利用するのに必要な権限が足りない」という内容をチェックしました。

    cPanelのデータベースの「Manage My Databases」をクリックしました。

    すると、以下のようなエラーメッセージが表示されていました。

    Error while connecting to MySQL: (XID wtjkz4) The system failed to connect to the “MySQL” database “mysql” because of an error: 1040 (Too many connections) Error while connecting to MySQL: (XID wtjkz4) The system failed to connect to the “MySQL” database “mysql” because of an error: 1040 (Too many connections) at /usr/local/cpanel/Cpanel/Mysql/Basic.pm line 437, line 1.

    これは、「MySQL への接続中にエラーが発生しました」というものです。

    このエラーの対処方法をChatGPTに質問すると、以下の回答を得られました。

    「データベースに過剰な負荷をかけるJetpackなどのプラグインやテーマが原因で発生することが多いです」

    問題のあるプラグインを無効化すれば良いそうです。
    Jetpackを使用していたので、これを無効化することにしました。

    問題対策

    プラグインの無効化方法

    サイトがダウンしているので、cPanelからアクセスし、プラグインを無効化しなければなりません。
    以下の方法で無効化しました。

    mixhostのcPanelにログイン
    サーバーの契約情報メールに記載されているURLからログイン。

    1.ファイルマネージャーを開く
    「ファイル」→ 「ファイルマネージャー」 をクリック。

    2.WordPressのプラグインフォルダを開く
    public_html/wp-content/plugins/ に移動。

    3.対象プラグインのフォルダ名を変更
    JetpackJetpack-disabled に変更。

    以上の手順でJetpack を無効化すると、エラーが無くなり、サイトが復活しました。