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.対象プラグインのフォルダ名を変更Jetpack
→ Jetpack-disabled
に変更。
以上の手順でJetpack
を無効化すると、エラーが無くなり、サイトが復活しました。