WordPressの「データベース接続確立エラー」の原因と復旧手順|トラブル解消法をプロが徹底解説

WordPressサイトを閲覧した際、画面全体に「データベース接続確立エラー(Error Establishing a Database Connection)」と表示されるトラブルは、Webサイトの保守運用において最も重大な障害の1つです。このエラーの結論として、原因の8割以上は「wp-config.phpにおけるデータベース接続情報の記述ミス」「データベースサーバーの一時的な過負荷・停止」「データベーステーブルの破損」のいずれかに集約されます。本記事では、サイトが突然非表示になった緊急時でも焦らず最短で復旧できるよう、原因の特定手順から具体策、再発防止策までを詳しく解説します。

「データベース接続確立エラー」とは?発生する仕組みと緊急対応の基本

WordPressは、Webサイトの文章や設定情報、投稿データなどの主要なコンテンツをMySQLやMariaDBなどの「データベース」で一元管理しています。ユーザーがブラウザでWebサイトにアクセスすると、WordPressのプログラム(PHP)がデータベースへアクセスし、必要な情報を取得して画面(HTML)を生成します。

「データベース接続確立エラー」とは、WordPressのプログラムがデータベースサーバーと通信を試みたものの、何らかの理由で接続認証に失敗したか、応答が得られなかった場合に発生するシステムメッセージです。

エラー発生時にサイトで起こる現象

このエラーが発生すると、Webサイトのトップページを含むすべての公開ページおよび管理画面(/wp-admin/)が表示されなくなります。訪問者にはエラー画面だけが表示されるため、サイトの信用低下や機会損失に直結します。

トラブル発生時に最初に行うべき3つの緊急対応

エラーに気づいた直後、原因調査や修正作業に入る前に、必ず以下の一次対応を行ってください。

  • 現在発生しているエラー表示の範囲を確認する:公開画面だけでなく、管理画面(/wp-admin/)にアクセスした際のエラーメッセージも確認します。「データベース接続確立エラー」のみなのか、「一部のテーブルの修復が必要です」といった詳細メッセージが含まれているかで原因を切り分けることができます。
  • 現状のサーバーファイルとデータベースのバックアップを取得する:エラー状態であっても、FTPソフトやレンタルサーバーの管理パネルから現状のファイルをダウンロードしておきます。復旧作業中の二次被害(ファイルの誤消去など)を防ぐために必須の作業です。詳しいバックアップ手順はWordPressサイトのバックアップ手順と復元方法|障害・改ざんに備える安全なデータ管理ガイドをご覧ください。
  • 同一サーバー上で動作している他サイトの稼働状況を確認する:同じサーバーや同じデータベースを使用している別サイトがある場合、それらも同時に落ちているか確認することで、個別の設定問題かサーバー全体の障害かを判定できます。

WordPressのデータベース接続確立エラーが発生する5つの主な原因

復旧作業を円満に進めるためには、問題がどこにあるのかを論理的に切り分ける必要があります。主な原因は以下の5点に分類されます。

1. wp-config.php内のデータベース接続情報の誤り

最も頻繁に発生する原因が、WordPressの設定ファイルである「wp-config.php」に記述されている接続情報の不一致です。具体的には、以下の4つの情報のうち1つでも誤っていると接続に失敗します。

  • データベース名(DB_NAME)
  • データベースユーザー名(DB_USER)
  • データベースパスワード(DB_PASSWORD)
  • データベースホスト名(DB_HOST)

サーバー移管やドメイン変更、データベースパスワードの変更を行った直後にエラーが発生した場合、ほぼ確実にこの接続情報の不一致が原因です。

2. データベースの破損(テーブル不整合・ファイル異常)

WordPressのアクセス集中時や、プラグインの不具合・強制的停止、PHPの不調などが原因で、データベース内のテーブル構造が破損することがあります。特に、投稿データやオプション設定が格納されている重要テーブル(wp_options等)にアクセスできなくなると、接続エラーが引き起こされます。

3. サーバーの過負荷・リソース枯渇

テレビ番組やSNSで取り上げられてアクセスが急増した場合や、悪質なスパムボットによる連続アクセスを受けた場合、サーバーのメモリやCPUリソースが枯渇します。リソースが不足すると、サーバーOSが安全措置としてプロセス(MySQL等)を自動停止させることがあり、これによりデータベース接続エラーが発生します。

4. レンタルサーバー側の障害または定期メンテナンス

利用しているレンタルサーバー会社側でハードウェア障害が発生していたり、データベースサーバーの緊急メンテナンスが実施されているケースです。Web担当者が何の設定変更も行っていないにもかかわらず突然エラーになった場合は、サーバー事業者の障害情報を疑うべきです。

5. MySQLの最大接続数(max_connections)の上限到達

共用サーバーなどで同一サーバー内の他ユーザーの負荷が高まった場合や、自社サイト内でデータベース接続を終了せずに開きっぱなしにするスクリプトが存在する場合、接続上限に達して新たな接続が拒否されることがあります。

【手順別】データベース接続確立エラーを解消する5つの復旧ステップ

エラーの原因を特定し、Webサイトを安全に正常化するためのステップを順を追って説明します。必ずステップ1から順番に試してください。

ステップ1:レンタルサーバーの稼働状況・障害情報の確認

自社でファイルを操作する前に、ご契約中のレンタルサーバー会社の管理画面や障害・メンテナンス情報ページを確認してください。サーバー全体で障害が発生している場合は、Web担当者側でファイルを修正しても解決しません。サーバー会社の復旧対応を待つのが最善策となります。

ステップ2:wp-config.phpの設定値とデータベース情報の照合・修正

サーバー障害でない場合は、FTPソフト(FileZilla等)またはサーバーのファイルマネージャー機能を使用してWordPressのルートディレクトリにある「wp-config.php」を開きます。

ファイル内に以下のような記述があるか確認します。

// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define( 'DB_NAME', 'データベース名' );

/** MySQL データベースのユーザー名 */
define( 'DB_USER', 'ユーザー名' );

/** MySQL データベースのパスワード */
define( 'DB_PASSWORD', 'パスワード' );

/** MySQL のホスト名 */
define( 'DB_HOST', 'localhost' );

確認すべき具体的ポイントは以下の通りです。

  • 文字の打ち間違い・スペースの混入:シングルクォーテーション(’)の中に不要な半角スペースや全角スペースが入っていないか確認します。
  • DB_HOSTの値:多くのレンタルサーバーでは「localhost」ですが、エックスサーバーやさくらのレンタルフォルダなど一部のサーバーでは「mysql123.xserver.jp」や「mysql***.db.sakura.ne.jp」のように固有のホスト名が指定されます。管理パネルに記載されている「データベース参照ホスト名」と一致しているか厳重に確認してください。
  • パスワードの不一致:サーバー管理パネル側でMySQLユーザーのパスワードを変更した場合は、wp-config.php側の「DB_PASSWORD」も同様に更新しなければなりません。

ステップ3:WordPressの自動修復機能(WP_ALLOW_REPAIR)を実行する

管理画面を開いた際に「データベース接続確立エラー」ではなく、「1つ以上のデータベーステーブルにアクセスできません。データベースの修復が必要かもしれません。」という趣旨のメッセージが表示される場合、データベースの破損が疑われます。

WordPressには標準でデータベース修復機能が備わっています。wp-config.phpの最下部(「編集が必要なのはここまでです」という行の上)に以下の1行を追加します。

define('WP_ALLOW_REPAIR', true);

ファイルを保存してアップロードした後、ブラウザで以下のURLにアクセスします。

https://ご自身のドメイン/wp-admin/maint/repair.php

画面に「データベースの修復」および「データベースの修復と最適化」というボタンが表示されるため、「データベースの修復」をクリックします。処理が完了してサイトが復旧したら、セキュリティ保護のため、wp-config.phpに追加した上記の1行を必ず削除またはコメントアウトしてください。放置すると第三者に修復スクリプトを実行される危険性があります。

ステップ4:phpMyAdminを利用したデータベースの手動確認と修復

サーバー管理パネルから「phpMyAdmin」等のデータベース管理ツールにログインし、対象のデータベースを選択します。テーブル一覧が表示されたら、以下の確認を行います。

  • テーブルの選択と修復:すべてのテーブルを選択(チェック)し、下部のドロップダウンメニューから「テーブルを修復する(Repair table)」を選択して実行します。
  • wp_optionsテーブルの確認:「siteurl」や「home」の行に記載されているURLが正しく設定されているか確認します。ここが間違っていると正常に通信が行えません。

なお、データベース内部の軽量化や整理については、トラブル復旧後に定期的なメンテナンスを実施することが推奨されます。詳細はWordPressのデータベース最適化手順|不要データの削除・軽量化と表示速度改善・安全な保守運用をご参照ください。

ステップ5:PHPバージョンの互換性・プラグインの影響の切り分け

サーバーのPHPバージョンを変更したタイミングでデータベース接続エラーが発生した場合は、使用しているWordPress本体や古いプラグインが新しいPHP環境のデータベース接続命令(mysqliやPDO等)に対応していない可能性があります。

一度サーバー管理パネルからPHPのバージョンを元に戻して動作を確認するか、必要に応じてWordPress本体およびプラグインの更新を行ってください。安全な更新手順についてはWordPressのPHPバージョンアップ手順と互換性エラー対策|安全な移行とトラブルを防ぐ手順をプロが解説で解説しています。

エラー原因別の症状・判定基準・対応策の一覧

トラブルが発生した際、どの原因に該当するのかを迅速に判断するための比較表です。

推定原因 主な症状・発生のきっかけ 一次切り分け方法 推奨される対応策
wp-config.phpの記述ミス サーバー移管、ドメイン変更、パスワード変更の直後に発生。 FTPでwp-config.phpを開き、管理パネルの設定値と比較する。 接続情報(DB名・ユーザー・パス・ホスト名)を正確な値に修正。
データベースの破損 管理画面のみ異なるエラー文言が出る。アクセス集中直後に発生。 phpMyAdminでテーブルの警告・エラー状態を確認。 WP_ALLOW_REPAIRの実行、またはphpMyAdminでのテーブル修復。
サーバー過負荷・リソース枯渇 アクセス急増時や、時間帯によって断続的にエラーが発生・解消する。 サーバー管理画面のリソースモニタ(CPU・メモリ使用率)を確認。 サーバープランの上位移行、キャッシュプラグイン等の導入、負荷軽減。
サーバー側の障害 前触れなく突然発生し、一切の設定変更を行っていない。 レンタルサーバー公式サイトの「障害・メンテナンス情報」を確認。 サーバー会社による復旧対応を待つ。必要に応じ問合せ。

データベース接続確立エラーの再発を防ぐ運用管理アプローチ

Webサイトの復旧が完了した後は、二度と同種のエラーでサイトが長期停止しないよう、日頃の保守運用体制を見直すことが極めて重要です。

1. 自動バックアップの定期実行と世代管理

データベースが修復不可能なレベルで論理破損した場合、バックアップデータからの復元が唯一の解決策となります。プラグイン(UpdraftPlus等)やレンタルサーバーの自動バックアップ機能を有効化し、最低でも過去14日〜30日分のバックアップデータを安全な別場所に保管する仕組みを構築しましょう。

2. データベースのクリーンアップと定期最適化

WordPressを長期間運用していると、投稿の自動保存(リビジョン)や削除済みプラグインの残骸データ、オーバーヘッドと呼ばれる空き領域が無駄に蓄積されます。これがDBパフォーマンスを低下させ、タイムアウトや破損の原因になります。定期的に不要データを削除し、データベース構造を軽量に保つ設計が不可欠です。

3. サーバースペックの最適化と接続リソースの監視

ビジネスの成長に伴いWebサイトのアクセス数が増加している場合、格安の共用サーバーではデータベース処理能力が限界に達することがあります。同時アクセス耐性の高い上位プランへの移行や、クラウドサーバーへのリニューアルを検討してください。

4. 専門会社によるWebサイト保守運用サービスの導入

社内に専門のエンジニアがいない中小企業やWeb担当者の兼任体制では、不慮のシステム障害時に迅速な復旧対応が困難です。障害発生時の緊急対応や日常のデータバックアップ、セキュリティ対策を包括的にアウトソーシングすることで、本業に集中できる環境を整えることができます。保守運用の適切な選定基準についてはホームページの保守運用とは?重要性・作業内容・費用要因と失敗しない依頼先選びのポイント完全ガイドを参考にしてください。

よくある質問(FAQ)

Q1. 管理画面(/wp-admin/)だけ「データベース接続確立エラー」になる場合は何が原因ですか?

公開ページが表示されており、管理画面のみ接続エラーやテーブルエラーが表示される場合は、データベース全体ではなく特定のテーブル(特にwp_usersやwp_usermetaなど)が破損している可能性が高いです。本文中で紹介した「WP_ALLOW_REPAIR」を使用したテーブル修復作業を優先して試してください。

Q2. wp-config.phpを編集する際、どのエディタを使えばよいですか?

Windowsの「メモ帳(Notepad)」は絶対に使用しないでください。文字コード(BOM付きUTF-8)の自動変換や不要な改行コードが挿入され、WordPressが完全に動かなくなる「白画面(画面が真っ白になる現象)」を引き起こします。「VS Code」「サクラエディタ」「Notepad++」などのコードエディタを使用し、保存文字コードを「UTF-8(BOMなし / UTF-8N)」に指定して保存・アップロードを行ってください。

Q3. 自分で復旧作業を行うのが不安な場合、どう対処すべきですか?

復旧手順に不安がある場合や、データベースの操作に慣れていない場合は、無理に作業を進めず、ご利用中のレンタルサーバー会社のサポート窓口や、Webサイト構築・保守を担当するWeb制作会社・プロの専門業者へ速やかに対応を依頼することをお勧めします。不適切なデータベース操作によりデータが完全に消失するリスクを回避できます。

Q4. データベース修復用コード(WP_ALLOW_REPAIR)は修正後消す必要がありますか?

はい、必ず消去または無効化してください。この設定が「true」のままだと、ログイン認証を行っていない第三者でも修復専用URL(/wp-admin/maint/repair.php)にアクセスして修復・最適化処理を実行できてしまいます。サーバーへの余分な負荷やセキュリティ上のリスクにつながるため、復旧作業が終わったら即座にコードを削除するか「false」に変更してください。

まとめ:焦らず手順を踏んで「データベース接続確立エラー」を復旧しよう

WordPressで「データベース接続確立エラー」が発生した場合、焦って不必要なファイル削除や設定の初期化を行ってしまうことが最も危険です。

まずは以下の手順を順守して対応を進めてください。

  1. 作業前に現時点のファイル・データベースのバックアップを必ず保存する
  2. レンタルサーバー会社側の障害・メンテナンス情報を確認する
  3. wp-config.phpに記述されている4つの接続情報(DB名・ユーザー名・パスワード・ホスト名)に間違いがないか厳密に照合する
  4. 破損が疑われる場合はWP_ALLOW_REPAIRやphpMyAdminでのテーブル修復を実施する
  5. 自社での対応が困難な場合は無理をせず専門家に復旧を依頼する

日頃からの自動バックアップ体制の構築と適切な保守運用ルールを整備し、不慮のトラブル発生時にも迅速に対応できる環境を維持しましょう。

CONTACT

Web制作・SEO・AIOについてお気軽にご相談ください

ホームページ制作・リニューアル、WordPress、SEO・AIO対策、 ECサイト、Web集客、保守・セキュリティなど、 Webに関するご相談を承っています。 「何から相談すればよいかわからない」という段階でもお気軽にお問い合わせください。

お問い合わせフォーム