朝起きてサイトを確認したら、「Error establishing a database connection」という英語のメッセージだけが表示されている…
こんな経験はありませんか?
このエラーは、WordPressサイトを運営している人なら誰もが一度は遭遇する、とても一般的なトラブルです。でも初めて見たときは、本当に焦りますよね。
大丈夫です。このエラーは必ず解決できます。
この記事では、エラーの原因から具体的な解決方法まで、順を追って分かりやすく説明していきます。難しいプログラミングの知識は必要ありません。一つずつ確認していけば、きっとあなたのサイトも復活するはずです。
そもそもこのエラーは何を意味しているの?

エラーメッセージの意味
「Error establishing a database connection」を日本語にすると、「データベースへの接続を確立する際のエラー」という意味になります。
もっと簡単に言うと、「サイトの情報を保管している倉庫(データベース)に入れなくなった」 ということです。
なぜこのエラーが起きるとサイトが表示されないの?
WordPressのようなCMS(コンテンツ管理システム)は、記事や画像の情報をデータベースという場所に保存しています。
これは、本棚に例えると分かりやすいでしょう。
- データベース = 本棚
- 記事や設定 = 本
- WordPress = 本を取り出して読む人
本棚の鍵が開かなくなったら、中の本が読めませんよね。それと同じことが起きているんです。
データベースって何?初心者向け解説
データベースは、情報を整理して保管する仕組みです。
エクセルの表をイメージしてください。
WordPressでは、以下のような情報がきれいに整理されて保存されています:
- 投稿した記事の内容
- ページの設定
- コメント
- ユーザー情報
- プラグインの設定
- テーマの設定
MySQLやMariaDBという種類のデータベースがよく使われます。これらは、大量の情報を効率的に管理できる優れものです。
エラーが発生する5大原因
このエラーには、主に5つの原因があります。頻度の高い順に見ていきましょう。
1. データベースの接続情報が間違っている(約40%)
最も多い原因です。
WordPressがデータベースに接続するには、4つの情報が必要です:
- データベース名(どの本棚か)
- ユーザー名(誰として入るか)
- パスワード(合言葉)
- ホスト名(本棚がある場所)
これらの情報が一つでも間違っていると、接続できません。
2. データベースサーバーがダウンしている(約25%)
データベースを管理しているサーバー自体が止まっている場合です。
共用サーバーを使っている場合、他のユーザーの影響で一時的に接続できなくなることがあります。
3. データベースが壊れている(約15%)
データベース内のテーブル(表)が破損している場合です。
突然の電源断や、プラグインの不具合などが原因で起こります。
4. サーバーの容量やリソース不足(約10%)
- ディスク容量がいっぱい
- メモリ不足
- 同時接続数の上限超過
アクセスが急増したり、バックアップファイルが溜まりすぎたりすると発生します。
5. wp-config.phpファイルの問題(約10%)
WordPressの設定ファイルに問題がある場合です。
編集ミスや、文字コードの問題などが原因となります。
ステップ別:エラーの解決方法

Step 1: まず深呼吸して状況を確認
慌てずに、以下の点を確認しましょう:
- 他のページも同じエラーか?
- 管理画面(/wp-admin/)にアクセスしてみる
- 別のページも確認する
- いつから発生している?
- 最後に正常だった時間を思い出す
- 何か変更を加えた後か確認する
- エラーメッセージの詳細
- 英語以外のメッセージがないか確認
- スクリーンショットを撮っておく
Step 2: wp-config.phpファイルを確認
WordPressの設定ファイルを確認します。
確認する場所: WordPressをインストールしたフォルダの直下にある wp-config.php
というファイル
確認すべき4つの設定:
// ** MySQL 設定 ** //
/** WordPress のデータベース名 */
define('DB_NAME', 'あなたのデータベース名');
/** MySQL のユーザー名 */
define('DB_USER', 'あなたのユーザー名');
/** MySQL のパスワード */
define('DB_PASSWORD', 'あなたのパスワード');
/** MySQL のホスト名 */
define('DB_HOST', 'localhost');
これらの情報が正しいか、以下の方法で確認します:
- レンタルサーバーの管理画面にログイン
- データベース情報のページを探す
- 記載されている情報と比較
よくある間違い:
- パスワードの前後に余分なスペースがある
- シングルクォート(’)が抜けている
- 大文字小文字を間違えている
Step 3: データベースサーバーの状態を確認
レンタルサーバーを使っている場合
- サーバー会社の障害情報をチェック
- 公式サイトのお知らせページ
- Twitter(X)の公式アカウント
- メンテナンス予定の確認
- コントロールパネルからデータベースにアクセス
- phpMyAdminなどのツールでログインを試みる
- ログインできれば、サーバーは正常
VPSや専用サーバーの場合
SSHでサーバーにログインして確認:
# MySQLの状態確認
sudo systemctl status mysql
# または
sudo service mysql status
起動していない場合は起動:
sudo systemctl start mysql
Step 4: データベースの修復を試みる
方法1: WordPressの修復機能を使う
- wp-config.phpに以下の行を追加:
define('WP_ALLOW_REPAIR', true);
- ブラウザで以下にアクセス:
http://あなたのサイト.com/wp-admin/maint/repair.php
- 「データベースを修復」をクリック
- 修復が完了したら、必ずwp-config.phpから追加した行を削除
方法2: phpMyAdminから修復
- phpMyAdminにログイン
- 該当のデータベースを選択
- すべてのテーブルにチェック
- 「選択したものを:」から「テーブルを修復する」を選択
Step 5: サーバーのリソースを確認
ディスク容量の確認
コントロールパネルまたはSSHで:
df -h
使用率が90%を超えていたら、不要なファイルを削除:
- 古いバックアップファイル
- ログファイル
- キャッシュファイル
データベースの容量確認
phpMyAdminで:
- データベースを選択
- 「サイズ」列を確認
- 不要なデータがあれば削除
よく容量を圧迫するもの:
- スパムコメント
- リビジョン(下書きの履歴)
- 期限切れのトランジェント(一時データ)
Step 6: 一時的な対処法
データベース接続数を増やす
wp-config.phpに追加:
define('WP_MAX_MEMORY_LIMIT', '256M');
プラグインを一時的に無効化
FTPやファイルマネージャーで:
/wp-content/plugins/
フォルダをリネーム- 例:
plugins
→plugins_backup
- サイトが表示されたら、プラグインが原因
トラブル別の対処法
ケース1: 「Too many connections」エラーも出ている
原因: 同時接続数の上限に達している
解決策:
- しばらく待つ(15-30分)
- データベースの接続数上限を増やす
- キャッシュプラグインを導入
ケース2: 特定のページだけエラーになる
原因: そのページに関連するテーブルの破損
解決策:
- 該当ページのデータをバックアップ
- データベースの該当テーブルを修復
- 最悪の場合、ページを作り直す
ケース3: 管理画面は入れるがサイトが表示されない
原因: テーマかプラグインの問題
解決策:
- 管理画面でテーマを変更
- プラグインを一つずつ無効化して確認
予防策:二度と起こさないために

1. 定期的なバックアップ
自動バックアップの設定:
- UpdraftPlusなどのプラグインを使用
- 週1回以上のバックアップ
- データベースとファイル両方を保存
2. データベースの最適化
月1回程度実施:
- WP-Optimizeプラグインを使用
- 不要なリビジョンを削除
- テーブルを最適化
3. リソースの監視
- サーバーの使用状況を定期的にチェック
- アクセス解析で急増を把握
- エラーログを確認する習慣
4. アップデートは慎重に
- 本番環境での直接アップデートは避ける
- テスト環境で確認してから適用
- アップデート前は必ずバックアップ
5. 信頼できるホスティングを選ぶ
- 自動バックアップ機能がある
- サポート体制が充実している
- リソースに余裕がある
プロが使う診断ツール
WP_DEBUGモードの活用
wp-config.phpに追加:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
/wp-content/debug.log
にエラーの詳細が記録されます。
Query Monitorプラグイン
データベースのクエリ(問い合わせ)を可視化できます。
- どのクエリでエラーが出ているか
- 処理時間が長いクエリはどれか
- メモリ使用量の確認
MySQLのエラーログ確認
サーバーにSSHでログインして:
sudo tail -f /var/log/mysql/error.log
リアルタイムでエラーを監視できます。
よくある質問
Q: エラーが出たり消えたりする
A: サーバーの負荷が原因の可能性が高いです。アクセスが集中する時間帯を確認し、サーバーのスペックアップやキャッシュの導入を検討してください。
Q: 修復してもすぐ再発する
A: 根本的な原因が解決していません。以下を確認:
- サーバーのディスク容量
- データベースの容量制限
- 悪意のある攻撃を受けていないか
Q: バックアップがない場合はどうすれば?
A: レンタルサーバーの自動バックアップ機能を確認してください。多くのサーバーで過去7-14日分のバックアップを保持しています。
Q: 英語以外のエラーメッセージが出る
A: より詳細な情報です。メッセージをコピーして検索すると、具体的な解決策が見つかることがあります。
緊急時のチェックリスト
エラーが発生したら、この順番で確認:
- ☐ エラーメッセージをスクリーンショット
- ☐ 最近の変更を思い出す
- ☐ サーバー会社の障害情報を確認
- ☐ wp-config.phpの設定を確認
- ☐ phpMyAdminでログインを試みる
- ☐ データベースの修復を実行
- ☐ プラグインを一時無効化
- ☐ サーバーのリソースを確認
- ☐ バックアップから復元を検討
- ☐ サポートに連絡
まとめ:もうデータベースエラーは怖くない!
「Error establishing a database connection」は確かに心臓に悪いエラーですが、原因さえ分かれば必ず解決できます。
覚えておくべきポイント:
- 慌てない – ほとんどの場合、データは無事です
- 順番に確認 – 設定ミス→サーバー状態→データベース破損の順
- バックアップは最強の保険 – 定期的なバックアップで安心
- 予防が大切 – 日頃のメンテナンスでトラブルを防ぐ
このエラーを経験したあなたは、もうWordPress中級者の仲間入りです。次に同じエラーが出ても、きっと落ち着いて対処できるはずです。
もし解決できない場合は、遠慮なくサーバー会社のサポートに連絡してください。プロのサポートを受けるのも、賢い選択肢の一つです。
データベースと仲良くなって、安定したサイト運営を目指しましょう!
コメント