データベース接続確立エラーとは

動画で詳しく説明している方がいらっしゃったので共有しておきます。

ただし、一点だけご注意を!上記ではFTPパスワード=データベースパスワードと書かれていますが誤りです。FTPパスワードとデータベースパスワードは違いますのでお気を付けて!

では、本編に入ります。「データベース接続の確立エラー」(Error Establishing a Database Connection)は、WordPressで発生する最もよくあるエラーの一つです。

私のところにもほぼ毎日のように連絡や解決の依頼が届きます。

このエラーメッセージが発生すると、ウェブサイトがデータベースへのアクセスができないので非表示となります。
また、WordPressダッシュボードへのアクセスも閲覧すら不可能になります。かなり緊急度の高い対応が要求されます。本ページでは対応策をどこよりも詳しく解説致します。

概要

データベースが原因として考えられるのは以下の項目です。考えられる各原因の解説と処理方法をご紹介していきますね。

  • ログイン情報誤り
  • 利用者の権限不足
  • 異常または破損
  • 接続上限超え
  • 容量が増えすぎた
  • サーバーの異常

種類と対処方法

最もよくある原因は、データベースのログイン認証情報が正しくないことです。

WordPressウェブサイトではMySQLデータベースに接続するために個別のログイン情報が使用されています。
データベース異常。テーマやプラグインをインストールしたり削除したりし続けると、データベースが破損することがあります。
原因は、あるテーブルが削除されたこと、または破損していること、その他の情報が誤って削除されたことなどが考えられます。
WordPressはファイル群とデータベースで構成されていますが、その接続情報が正しくないと本エラーメッセージが発生します。ほとんどのケースはこれですね。
「以前は動いていたのになぜ・・・?」という疑問をいただくケースもありますが、色々とヒアリングしているとご自身で操作されていることが多い印象を受けます。
(覚えているかどうかは別として)ご自身で操作した以外にもテーマやプラグインをインストールしたり削除したりし続けると、データベースが破損することもまれにあります。
それでは一つずつ解説していきましょう。

ログイン情報誤り

概要

まず最初に、データベースのログイン認証情報が正しいかを確認します。

データベース接続の確立エラーが発生する最もよくある原因は認証情報が正しくないことです。
WordPressウェブサイトの接続の詳細詳細は、ウェブサイトのルートにあるwp-config.phpファイルに保存されています。

対応方法

接続が正常に行われるためには、5項目の情報が正しくなければなりません。

  • データベース名
  • データベースのユーザー名
  • データベースのパスワード
  • MySQL のホスト名
  • データベーステーブルの接頭辞(※)

(※)データベーステーブルの接頭辞が誤っているケースでは「データベース接続確立エラー」は表示されず別のメッセージが表示されますが、類似現象として掲載しました。

権限不足

概要

この問題はWordPress以外にデータベースを利用するアプリなどを導入した際に発生しやすいです。

ユーザーがデータベースに対して持つ権限は以下の手順で確認することができます。

対応方法

1.レンタルサーバーのデータベースへログインします。

2.「データベース接続確立エラー」が発生しているデータベースの「権限を持つユーザー」を確認します。

エックスサーバーの事例

アクセス権所有ユーザに設定されていればOKです。

DB異常または破損

概要

データベースが異常を起こしたり、破損することはあまりありません。

ですが、テーマやプラグインの追加・変更・削除でデータベースに負荷がかかり破損することもゼロではありません。
でも、WordPressの管理画面へログインした時に次のメッセージが表示されているならデータベースが破損しています。対応方法は簡単なのでちゃちゃっと修正しちゃいましょう。

Error establishing a database connection
または、
1つ以上のデータベースが利用できません。修復する必要があるかも知れません。

対応方法

実をいうとWordPressにはデータベース修復モードを持っています。wp-config.phpファイルの最後に以下を追加するだけです:
define(‘WP_ALLOW_REPAIR’, true);
その後、WordPressウェブサイトのhttps://example.com/wp-admin/maint/repair.phpにアクセスします。
次に、「データベースの修復」と「データベースの修復と最適化」のどちらかを選択できますが、データベースの修復を行っているので「データベースの修復」をお勧めします。
上記の「データベースの修復」を実行した後は、他人が修復を実行できないようにwp-config.phpファイルに追加したコードを削除します。

接続上限超え

概要

これは非常にアクセス数の多いウエブサイトをお持ちの方向けですね。

まれな話ですがJetPackやPopular Posts など動作時にデータベースへの接続を行うプラグインを導入している場合、データベースの接続上限に達している可能性があります。
JetPackやPopular Posts など動作時にデータベースへの接続を行うプラグインをを無効化し、症状が改善されるかお試しください。

対応方法

容量が増えすぎた

概要

データベース内の容量が過剰に増えすぎた場合もあり得ます。私のところでもたまに相談を受けることがあります。例えば、

  • サイトを8年以上運営している
  • ブログが1500記事以上ある
  • プラグインが大量(30個以上)に入っている
  • などでデータベース容量が圧迫されたり、
  • 長期間の運用で余分なデータが溜まる
こういったケースの場合はディスクが圧迫されてしまう場合があります。
最近ではレンタルサーバーの容量もずいぶんと大きいのでこのメッセージが出ることも少なくなりましたが、長年運営しているとデータベースの容量も増えていきますからね。
いたし方ありません。運営歴が長いとついついデータベースの容量までまで気が回らないこともよくあるものです。

対応方法

解決策ですが
  • コマンドでデータベースをクリーンアップする
  • プラグインによるデータベース内を削除
などが挙げられます。下記のプラグインは手軽に進められますね。 ↓

WP-Optimize

きっとお役に立つと思いますので是非試してみてくださいね。

DBサーバーの異常

概要

これまで色々な「データベース接続確立エラー」の原因をお伝えしてきました。

ただ、残念ながらそれだけでは解決しないかもしれません。といいますのもレンタルサーバー側の問題の可能性も考えられるからです。
たとえば、人気のサイトを運営しているケースですとデータベースへの同時接続の数が増えすぎて本エラーが発生するケースがあります。

対応方法

一度に許可される接続数の制限のあるレンタルサーバーも多いからです。
その場合は、キャッシュ系プラグインを利用すると、ウェブサイトのデータベースとのやり取りの数を最小限に抑えることができるので状況によっては検討する価値があります。
ただ、アイデアマートではキャッシュ系プラグインを利用することはあまりオススメしていません。
その理由はキャッシュ系プラグインを利用するとデザインの崩れなどが発生することも多いからです。
この記事は、「データベース接続確立エラー」がメインになのでその詳細は割愛しますが、しっかりとアクセスが発生してからキャッシュ系プラグインを利用することをオススメします。

破損ファイルがある

概要

インストール時や更新時のファイル破損も考えられます。セッションが中途半端な状態で途切れてしまうと発生することが多いようですね。具体的な事例としてはFTPを介してのファイル転送中の異常に多いように思えます。
結構な確率でウェブサイトへアクセスしてしたハッカーやご利用のレンタルサーバーを疑われますが、大抵が自分でやらかしていますのでFTPが最後まで終わっているのか確認しましょう。

対応方法

同一バージョンのWordPressをダウンロードして上書きすれば可能です。
その際には、wp-config.php と wp-content だけは上書きしないでください。
そうそう、忘れるところでした、完全にフルバックアップしてから実施してくださいね♪

パーミッションが不正

概要

対応方法

wp-config.phpのパーミッションが「444」でない場合は、「444」にすることで解決する場合があります。

最後に

WordPressの「データベース接続の確立エラー」の処理方法はいろいろとありましたね。

でも、最もよくある原因は、wp-config.phpファイルの認証情報がおかしいために起こります。
したがって、まず最初に認証情報が正しいかを確認しましょう。ダウンタイムをどうしても避けたいですね。
上記の手順のいずれかがお役に立てれば嬉しく思います。必要に応じて、バックアップからウェブサイトを復元することも可能です。
どうしてもご自身で分からない場合は、アイデアマートでも有料対応いたします。金額は以下をご覧下さいませ。