ある日突然「データベース接続確立エラー」
昨日まで普通に見えていたサイトが、ある日アクセスすると「データベース接続確立エラー(Error establishing a database connection)」という短いメッセージだけになっている――。WordPressを運用していると、ときどき出くわすトラブルです。記事も管理画面も表示されず、真っ青になった方も多いのではないでしょうか。
この記事では、このエラーの原因と直し方を解説します。実は今回、検証のために自分のテスト環境で、わざとこのエラーを再現してみました。その結果わかった「厄介な特徴」も含めて、実践的にお伝えします。

そもそも「データベース接続確立エラー」とは
WordPressは、記事や設定などのデータをデータベース(MySQL/MariaDB)に保存しています。ページを表示するたびに、WordPress本体がデータベースへ接続し、必要なデータを取り出しています。
つまりこのエラーは、WordPress本体とデータベースの間の「接続」が確立できなかったことを意味します。データが消えたわけではなく、「つなげない」だけのことが多いので、まずは落ち着いてください。原因を正しく切り分ければ、多くは元に戻せます。
厄介なのは「原因が違っても、画面が同じ」こと
今回の検証で、あらためて実感したことがあります。それは、原因が何であっても、表示されるエラー画面はまったく同じだということです。
試しに、テスト環境のWordPressで2通りの壊し方をしてみました。ひとつはデータベースのパスワードを間違えた状態、もうひとつは存在しないデータベース名を指定した状態です。原因はまったく別物です。ところが――どちらも画面上はまったく同じ「データベース接続確立エラー」。表示からは、どちらが原因なのか一切わかりませんでした。
だからこそ、画面を見て慌てるのではなく、原因を1つずつ切り分けていくことが解決の近道になります。考えられる原因は、主に次のとおりです。
| 原因 | よくある状況 |
|---|---|
| 認証情報の誤り | DBのユーザー名・パスワードが違う(wp-config.php の編集ミス、サーバー移転後など) |
| 接続先の誤り | DBホスト名(DB_HOST)が違う(移転後に変更し忘れ) |
| データベース名の誤り | 指定したデータベースが存在しない |
| データベースの停止・過負荷 | サーバー側のMySQLが落ちている/アクセス集中で応答できない |
| データベースの破損 | テーブルが壊れて読み書きできない |
まず確認したいこと(運営者向け)
専門的な作業に入る前に、まずは次の2点を思い出してください。
- 直前に何をしたか:サーバーを移転した/wp-config.phpを編集した/プラグインを入れた直後、などは原因の手がかりになります
- 今だけの現象か:時間をおくと直る場合は、アクセス集中やサーバー側の一時的な過負荷が疑われます
とくにレンタルサーバーの共用プランでは、アクセスが集中した瞬間だけこのエラーが出て、しばらくすると戻ることがあります。この場合はサイト側の設定ミスではなく、サーバーの負荷が原因です。頻発するならサーバーのプラン見直しも検討しましょう。何もしていないのに突然出た場合は、サーバー会社の障害情報も確認してみてください。
ここまでのまとめと、原因の特定へ
ここまでを整理すると、このエラーは「WordPressとデータベースがつなげない」状態で、原因は複数あるのに画面は同じ、というのが厄介な点でした。ここからは、実際に原因を特定して直す手順を、少し技術的な内容も交えて解説します。自分で触るのが不安な場合は、無理をせず専門家に相談するのが安全です。
【技術解説】原因の切り分けと直し方
切り分けの中心になるのが、WordPressの設定ファイル wp-config.php です。ここに、データベースへの接続情報が書かれています。
|
1 2 3 4 5 |
// wp-config.php のデータベース設定(この4つを確認する) define( 'DB_NAME', 'データベース名' ); define( 'DB_USER', 'ユーザー名' ); define( 'DB_PASSWORD', 'パスワード' ); define( 'DB_HOST', 'localhost' ); |
この4つが、サーバーの実際の情報と一字一句合っているかを確認します。とくに次の点に注意してください。
- DB_HOST はサーバーごとに違う:ローカル環境では
localhostですが、レンタルサーバーではmysql◯◯◯.xserver.jpのような専用のホスト名を指定します。サーバー移転後にここを直し忘れると、必ずこのエラーになります - パスワードのコピーミス:前後の空白や、記号の全角・半角混入がよくある落とし穴です
- データベース名の取り違え:サーバーに複数のDBがある場合、別のDB名を書いてしまうことがあります

wp-config.php の値が正しいのにエラーが出る場合は、データベース側を疑います。サーバーの管理画面(phpMyAdmin など)にログインできるか、対象のデータベースが存在するか、MySQLが起動しているかを確認します。ここでphpMyAdminにもログインできないなら、原因はWordPressではなくデータベースサーバー側にある可能性が高いと切り分けられます。
データベースの破損が疑われるとき
接続情報が正しく、DBも動いているのにエラーが続く場合は、テーブルの破損が考えられます。WordPressには修復機能があり、wp-config.php に次の1行を一時的に追加すると使えます。
|
1 2 |
// 修復が終わったら必ず削除すること define( 'WP_ALLOW_REPAIR', true ); |
追加後、ブラウザで /wp-admin/maint/repair.php にアクセスすると、下のような修復画面が開きます。「データベースを修復」と「修復して最適化」のボタンから、壊れたテーブルの修復を試せます。

この状態はログインなしで誰でも修復ページにアクセスできてしまうため、修復が終わったら必ずこの1行を削除してください。実際、上の画面も検証のために一時的に有効化して確認し、スクリーンショットを撮ったあとすぐに設定を削除しています。
レンタルサーバー移転直後は、とくに要注意
このエラーがもっとも起きやすいのが、サーバーを移転した直後です。移転先ではデータベースのホスト名・ユーザー名・パスワードがすべて変わるため、wp-config.php を新しい情報に合わせて書き換える必要があります。ひとつでも古いままだと、このエラーになります。サーバー移管の進め方は放置サイトの保守移管・引き継ぎの進め方もご覧ください。
また、真っ白になる「ホワイトスクリーン」や、ログインできないトラブルとは原因も対処も異なります。症状を正しく見分けることが、遠回りしない第一歩です。
まとめ:慌てず、原因を1つずつ切り分ける
「データベース接続確立エラー」は、原因が複数あるのに画面は同じという、切り分けが要のトラブルです。まずは直前の操作を思い出し、wp-config.php の接続情報(DB名・ユーザー・パスワード・ホスト)を確認、それでもダメならデータベース側を疑う――この順番で進めれば、多くは解決できます。データそのものが消えていることは少ないので、落ち着いて対応しましょう。
私たちEdel Heartsは、こうしたWordPressのトラブルを原因特定から復旧まで対応するWordPress専門チームです。「触るのが怖い」「サーバー移転で出てしまった」という段階でも、お気軽にご相談ください。
- トラブルの緊急対応:WordPressトラブル対応サービス
- 再発を防ぐ保守:WordPress保守サポート
- サイトの状態を無料でチェック:無料AI診断
- まずは相談してみたい方:お問い合わせフォーム