ある日突然、サイトを開くと真っ白な画面に「データベース接続確立エラー(Error establishing a database connection)」とだけ表示される——WordPressで最も多いトラブルのひとつです。フロントも管理画面も開けなくなるため不安になりますが、原因はおおむね決まっており、順番に確認すれば自分で直せるケースも少なくありません。原因の切り分けから、お使いのレンタルサーバー別の具体的な復旧手順までを上から順にたどってください。
⚠️ あわてて
wp-config.phpを書き換えたり、データベースを操作したりする前に、まず下の「まず確認」を上から順に進めてください。誤った操作はデータ消失につながることがあります。不安な場合は、無理に触らず緊急復旧の相談へ進んでください。
まず確認:今どの状態ですか
次のどれに当てはまるかで、原因の見当がつきます。自分の状況に近いものを探してください。
- サイト全体(トップも管理画面も)で同じエラーが出る → サーバー・DB側、または接続情報の不一致の可能性が高い
/wp-adminだけ「データベースに問題があるようです」と出る → データベースの破損が疑われる- さっきまで普通に見られていたのに突然出た → サーバーの高負荷・容量超過・自動アップデートの影響
- レンタルサーバーを契約した直後/DBのパスワードを変えた直後 →
wp-config.phpの接続情報の不一致 - 自分以外のサイトや管理ツールも不調 → サーバー会社側の障害(自分での操作は不要)
「データベース接続確立エラー」とは(なぜ起きるのか)
このエラーは、WordPress本体(PHP)がデータベース(MySQL/MariaDB)に接続できなかったときに表示されます。WordPressは記事や設定をすべてデータベースに保存しているため、データベースに繋がらないとページを1枚も生成できず、エラー画面だけが出ます。原因は次の4つに大別できます。
wp-config.phpのDB接続情報(ホスト名・DB名・ユーザー名・パスワード)の誤り- データベースサーバーの停止・高負荷・同時接続数の上限超過
- ディスク容量・データベース容量の超過
- データベースの破損(テーブルの故障)
以下の手順は、頻度が高く・安全に確認できる順に並べています。
対処手順
手順1 サーバーの障害情報を確認する
最初に、サーバー会社側の障害ではないかを確認します。自分の他のサイトや、契約しているサーバーの管理画面(コントロールパネル)自体も開けない・重いなら、サーバー側の障害が疑われます。各社の障害・メンテナンス情報ページを確認してください。原因がサーバー側なら、こちらでの操作は不要で、復旧を待つのが正解です。
手順2 wp-config.php の接続情報を確認する
サーバーのファイルマネージャまたはFTPで、サイト直下にある wp-config.php を開き、次の4項目がサーバーの管理画面に記載された値と一字一句一致しているかを確認します。1文字違うだけでも接続できません。
define( 'DB_NAME', 'データベース名' );
define( 'DB_USER', 'データベースユーザー名' );
define( 'DB_PASSWORD', 'パスワード' );
define( 'DB_HOST', 'localhost' ); // ← ここがサーバーごとに異なる(手順3参照)
特に多いのが、DBのパスワードをサーバー管理画面で変更したのに wp-config.php 側を直していないケースです。編集する場合は、必ず元のファイルをダウンロードしてバックアップしてから行ってください。
手順3 サーバー別の DB_HOST と確認場所
DB_HOST に入れる値(データベースのサーバー名)は、レンタルサーバーごとに異なります。代表的な4社の設定値と、管理画面での確認場所をまとめます。正確な値は必ず各社の管理画面で確認してください(同じ会社でも契約プランやサーバー世代で異なる場合があります)。
| サーバー | DB_HOST の形式 | 管理画面での確認場所 | 補足 |
|---|---|---|---|
| さくらのレンタルサーバ | mysqlXXX.db.sakura.ne.jp 形式 | コントロールパネル →「データベース」→「データベースサーバー」欄 | パスワード再設定はMySQL8.0なら対象DBの「設定」→「パスワード変更」、MySQL5.x以前は「全体設定」→「管理用ユーザー/パスワード」 |
| エックスサーバー | localhost(標準) | サーバーパネル →「MySQL設定」 | 多くはパスワード不一致が原因。MySQLユーザーのパスワード再設定とアクセス権限を確認。「WordPressリカバリー」機能での復旧も可 |
| ロリポップ! | mysqlXXX.phy.lolipop.lan 形式 | ユーザー専用ページ →「サーバーの管理・設定」→「データベース」 | ホスト名は通常変更不要。表示されたサーバー名と完全一致させる |
| お名前.com VPS | localhost または 127.0.0.1 | サーバー内(自前構築のため管理画面なし) | localhost で繋がらない場合は 127.0.0.1 に変えると直ることがある。DBサービスの起動確認は手順5参照 |
さくら・ロリポップで多いパターン
さくら・ロリポップは DB_HOST が localhost ではなく専用のサーバー名です。他社からサイトを引っ越してきた直後などに localhost のままになっていると、このエラーになります。管理画面に表示されているサーバー名へ書き換えてください。
エックスサーバーで多いパターン
エックスサーバーは標準で localhost のため、DB_HOST 自体は正しいことが多く、MySQLユーザーのパスワード不一致が主因です。サーバーパネルの「MySQL設定」でパスワードを再設定し、wp-config.php の DB_PASSWORD と一致させます。エックスサーバーには表示が崩れたWordPressを戻す「WordPressリカバリー」機能もあるため、自動アップデート直後の不調ならこちらも有効です。
お名前.com VPSで多いパターン
VPSは自分でMySQL/MariaDBを動かしているため、DBサービス自体が落ちているケースが大半です。手順5でサービスの起動状態を確認してください。localhost で繋がらないときは 127.0.0.1 を試すのも定番の対処です。
手順4 データベースの破損を修復する
接続情報が正しいのに、特に /wp-admin で「データベースに問題があるようです」と出る場合は、テーブルの破損が疑われます。WordPressには修復ツールが標準で備わっています。wp-config.php の末尾付近(「/* 編集が必要なのはここまでです */」と書かれた行の上)に次の1行を追記します。
define( 'WP_ALLOW_REPAIR', true );
追記後、ブラウザで https://あなたのサイト/wp-admin/maint/repair.php にアクセスすると、修復ボタンが表示されます。「データベースを修復」を実行してください。
⚠️ 修復が終わったら、追記した
WP_ALLOW_REPAIRの行は必ず削除してください。 この行が残っていると、ログインしていない第三者でも修復ツールを実行できてしまい、危険です。
手順5 容量超過・接続数上限・DBサービス停止を確認する
ここまでで直らない場合、サーバー側のリソースを確認します。
- ディスク/DB容量の超過: 管理画面で使用容量を確認。上限に達しているとDBへの書き込み・接続が止まります。不要なバックアップやログを削除して空けます。
- 同時接続数の上限: アクセス急増や、表示の重いプラグインが原因で接続数が上限に達すると、一時的にこのエラーが出ます。時間をおいて改善するなら、この可能性が高いです。
- DBサービスの停止(VPS/自前サーバー): SSHでログインし、データベースが起動しているかを確認します。
systemctl status mariadb # または systemctl status mysql
停止していれば起動します。
sudo systemctl start mariadb
頻繁に停止する場合は、メモリ不足でDBプロセスが落とされていることが多く、プランの増強や監視・自動再起動の設定が必要です。
直ったかを確認する
サイトのトップページと /wp-admin の両方を再読み込みし、エラーが消えていれば復旧です。あわせて、次の2点を確認してください。
- 手順4で追記した
WP_ALLOW_REPAIRの行を削除したか - 編集前に
wp-config.phpのバックアップを取ってあるか(次回のために残しておくと安心です)
よくある質問
「このサイトで重大なエラーが発生しました」と表示される場合も同じ対処ですか?
別のエラーです。「重大なエラー」はPHPやプラグイン・テーマ側の不具合であることが多く、対処が異なります。詳しくはWordPressレスキューのトラブルガイド一覧から該当の記事をご確認ください。データベース接続確立エラーは、あくまで「DBに繋がらない」ことが原因です。
「500エラー」とは違うのですか?
500エラー(Internal Server Error)はサーバー内部エラーの総称で、原因はDB以外にもPHPの設定や .htaccess などさまざまです。「データベース接続確立エラー」という文言がはっきり出ている場合は、まず本ページの手順で問題ありません。
wp-config.php をどうしても見つけられません
通常はサイトのドキュメントルート(public_html や www 直下など)にあります。レンタルサーバーのファイルマネージャの検索機能で wp-config.php を探すか、サーバー会社のマニュアルでドキュメントルートの場所を確認してください。
触るのが怖い・原因が特定できません
データベースやサーバー設定の操作は、誤るとサイトのデータを失うリスクがあります。「さっきまで動いていたのに」「お客様に見せている最中」といった一刻を争う場面では、無理に操作せず、専門家による一次診断をおすすめします。当社では最短即日での復旧サポートを行っています。