【WordPress】「データベース接続確立エラー」完全解決ガイド

【WordPress】「データベース接続確立エラー」完全解決ガイドのアイキャッチ画像

WordPressサイトを運営していて、突然**「データベース接続確立エラー(Error Establishing a Database Connection)」**という真っ白な画面が出ると、心臓が止まるほど焦りますよね。

でも、大丈夫です。このエラーは原因が明確で、1つずつ確認していけば必ず直ります。

WordPressを使っていると一度は遭遇する「データベース接続確立エラー」。このエラーは、簡単に言うと**「WordPress(プログラム)が、データが入っている箱(データベース)を開けるための鍵をなくした、あるいは箱自体が見当たらない」**状態です。


【最初に確認】緊急度チェックリスト

まずは、どの状況に当てはまるか確認しましょう:

  • サイト全体が見れない → この記事の手順を順番に進めてください
  • 管理画面だけ「データベースの修復が必要」と出る → セクション3へジャンプ
  • 断続的にエラーが出る → セクション4(サーバー負荷)へ
  • サーバー移転・引っ越し直後 → セクション2へジャンプ

1. まずは「どこで」エラーが起きているか確認

一口にエラーと言っても、状況によって対処法が変わります。

  • サイト全体でこのエラーが出る: 接続設定のミスか、サーバー側の問題です。
  • 管理画面(/wp-admin)だけ「データベースの修復が必要です」と出る: データベースが破損している可能性があります。

2. 最も多い原因:wp-config.phpの設定ミス

サイトの引っ越しや、パスワード変更後によく起こるパターンです。

⚠️ 作業前の重要な注意事項

必ずバックアップを取ってください!

  • wp-config.phpを編集する前に、必ず元のファイルをダウンロードしてバックアップを取る
  • 可能であればデータベース全体のバックアップも取る(phpMyAdminやサーバーの管理画面から)

wp-config.phpの編集手順

FTPソフト(FileZillaなど)やレンタルサーバーのファイルマネージャーを使って、wp-config.phpを開きます。

編集時の注意点:

  • 文字コード: UTF-8(BOMなし)で保存してください
  • 改行コード: LF(Unix形式)推奨。Windowsで編集する場合は特に注意
  • メモ帳ではなく: TeraPad、VSCode、Sublime Textなど、プログラミング用エディタを使用

確認すべき4項目

項目確認内容
DB_NAMEデータベース名(例:your_database_name)
DB_USERユーザー名(例:your_db_user)
DB_PASSWORDパスワード(サーバーで設定したもの)
DB_HOSTホスト名(詳細は下記参照)

wp-config.phpの該当箇所:

define('DB_NAME', 'database_name_here');
define('DB_USER', 'username_here');
define('DB_PASSWORD', 'password_here');
define('DB_HOST', 'localhost');

DB_HOSTの詳細設定

DB_HOSTは環境によって異なります:

  • 多くの場合: localhost
  • localhostで動かない場合: 127.0.0.1を試す
  • ポート番号が必要な場合: localhost:3306または127.0.0.1:3306
  • 専用のホスト名がある場合:
    • エックスサーバー: mysql***.xserver.jp形式
    • さくらインターネット: mysql***.db.sakura.ne.jp形式
    • ロリポップ: mysql***.lolipop.jp形式

ヒント: 多くのレンタルサーバーでは、管理パネルから正しいデータベース情報を確認できます。一文字でも違うとエラーになりますし、誤ってスペースが入っていてもエラーになります。

データベース接続テスト

設定が正しいか確認するために、簡単なテストスクリプトを使うと便利です:

<?php
// db-test.php として保存し、WordPressのルートディレクトリに配置
$link = mysqli_connect('localhost', 'DB_USER', 'DB_PASSWORD', 'DB_NAME');

if (!$link) {
    echo '<h1>接続失敗</h1>';
    echo '<p>エラー内容: ' . mysqli_connect_error() . '</p>';
} else {
    echo '<h1>接続成功!</h1>';
    echo '<p>データベースに正常に接続できました。</p>';
    mysqli_close($link);
}
?>

使い方:

  1. 上記コードのDB_USERDB_PASSWORDDB_NAMEを実際の値に変更
  2. db-test.phpとしてサーバーにアップロード
  3. https://あなたのサイト/db-test.phpにアクセス
  4. 確認後は必ずファイルを削除(セキュリティのため)

3. データベースの「修復」を試す

管理画面で「修復が必要」と出た場合は、WordPressの自動修復機能を使いましょう。

⚠️ 超重要なセキュリティ警告

この機能はログイン不要で誰でもアクセスできます!
修復が終わったら必ず即座にコードを削除してください。放置すると第三者に悪用される危険があります。

修復手順

ステップ1: 修復モードを有効化

wp-config.phpの一番下(「編集が必要なのはここまでです」の直前)に以下のコードを追記します:

define('WP_ALLOW_REPAIR', true);

ステップ2: 修復ページにアクセス

https://あなたのサイトURL/wp-admin/maint/repair.php

ステップ3: 修復実行

  • 「データベースの修復」ボタンをクリック
  • または「データベースを修復して最適化する」を選択(推奨)

ステップ4: 【重要】コードを削除

修復が完了したら、必ず追記したコードを削除してください:

// この行を削除!
define('WP_ALLOW_REPAIR', true);

4. サーバー側のトラブルを疑う

設定に間違いがないのに直らない場合、自分の手には負えない「外側」の問題かもしれません。

よくあるサーバー側の問題

サーバーダウン

  • 負荷が高すぎてデータベースサーバーが止まっている
  • レンタルサーバーの「障害情報」ページを確認

ディスク容量不足

  • サーバーの容量がいっぱいで、新しいデータを書き込めずエラーになる
  • サーバー管理画面で使用容量を確認

同時接続数の上限

  • 共有サーバーで同時接続数の制限に達した
  • アクセス集中時やプラグインの影響で発生

メンテナンス中

  • サーバー会社が定期メンテナンスを実施している
  • 事前告知メールや障害情報を確認

この場合は、レンタルサーバーの「障害情報」を確認するか、サポートに問い合わせてみましょう。


5. その他の原因と対処法

PHPバージョンの問題

古いPHPバージョンでは、新しいMySQL/MariaDBに接続できない場合があります。

確認方法:

  • サーバー管理画面でPHPバージョンを確認
  • WordPress推奨: PHP 7.4以上(理想はPHP 8.0以上)

データベースユーザーの権限不足

データベースユーザーに適切な権限が付与されていない場合もエラーになります。

必要な権限:

  • SELECT
  • INSERT
  • UPDATE
  • DELETE
  • CREATE
  • DROP
  • ALTER

確認方法: phpMyAdminやサーバー管理画面の「データベース」→「ユーザー権限」で確認

ファイアウォール・セキュリティプラグイン

セキュリティプラグインやサーバーのファイアウォールがデータベース接続をブロックしている可能性があります。

対処法:

  • 一時的にセキュリティプラグインを無効化(FTPでプラグインフォルダをリネーム)
  • サーバーのWAF設定を一時的にオフ

まとめ: 落ち着いて「鍵」を確認しよう

「データベース接続確立エラー」の解決策は、多くの場合設定の再確認に集約されます。

解決手順チェックリスト

  1. バックアップを取る(必須)
  2. wp-config.phpの4項目を最新情報に更新
  3. ✅ 文字コード・改行コードを確認
  4. ✅ データベース接続テストを実行
  5. ✅ 必要に応じて修復モードを実行(終了後はコード削除!)
  6. ✅ サーバー会社の障害情報を確認
  7. ✅ それでもダメならサポートに問い合わせ

このステップで、ほとんどのサイトは元通りに表示されるようになります。


予防策: 今後エラーを防ぐために

定期的なバックアップ

  • 自動バックアッププラグインを導入(UpdraftPlus、BackWPupなど)
  • 週1回以上の頻度で自動バックアップ

設定情報の記録

  • データベース情報をパスワード管理ツールに保存
  • サーバー移転時のチェックリストを作成

監視体制の構築

  • 稼働監視サービスの利用(UptimeRobot、Pingdomなど)
  • ダウン時に即座にメール通知

定期的なメンテナンス

  • 使っていないプラグインの削除
  • WordPressとプラグインの定期的な更新
  • データベースの最適化(月1回程度)

このガイドで問題が解決しない場合は、より専門的なサポートが必要かもしれません。WordPressフォーラムやサーバー会社のサポートに相談してみてください。