WordPressのデータベース接続エラー
「データベース接続確立エラー」「Error establishing a database connection」と表示されるエラーの原因と解決方法を詳しく解説します。データベース関連のエラーは重要ですが、落ち着いて対処すれば解決できます。
⚠️ このような症状が出ていませんか?
- 「データベース接続確立エラー」と表示される
- 「Error establishing a database connection」と英語で表示される
- サイト全体にアクセスできない
- 管理画面にもログインできない
- サーバー移転後に発生した
- 特に何も変更していないのに突然発生した
主な原因
データベース接続エラーの主な原因は以下の通りです。
1. wp-config.phpの設定ミス
最も多い原因です。wp-config.phpに記載されているデータベース接続情報(データベース名、ユーザー名、パスワード、ホスト名)が間違っている場合に発生します。
2. データベースサーバーのダウン
レンタルサーバーのデータベースサーバーが一時的に停止している、またはメンテナンス中の場合に発生します。
3. データベースの破損
WordPressのデータベーステーブルが破損している場合に発生します。サーバーの不具合やプラグインの問題が原因のことが多いです。
4. サーバー移転時の設定漏れ
サーバーを移転した際、新しいサーバーのデータベース情報にwp-config.phpを更新し忘れている場合に発生します。
5. データベースの容量超過
契約しているデータベース容量を超えてしまった場合、新しいデータを書き込めなくなり、エラーが発生することがあります。
6. アクセス集中によるサーバー負荷
大量のアクセスが集中し、データベースサーバーが処理しきれなくなった場合に一時的にエラーが発生します。
解決方法(優先度順)
wp-config.phpのデータベース情報を確認
最も効果的な解決方法です。wp-config.phpのデータベース接続情報が正しいか確認します。
手順:
- FTPソフトでサーバーに接続
- ルートディレクトリ(public_htmlなど)にある
wp-config.phpをダウンロード - テキストエディタで開く
- 以下の4つの設定を確認:
define('DB_NAME', 'database_name'); // データベース名
define('DB_USER', 'database_user'); // ユーザー名
define('DB_PASSWORD', 'your_password'); // パスワード
define('DB_HOST', 'localhost'); // ホスト名
正しい情報の確認方法:
- レンタルサーバーの管理画面にログイン
- 「データベース」または「MySQL」のセクションを開く
- データベース名、ユーザー名、ホスト名を確認
- パスワードは通常表示されないので、忘れた場合はリセットが必要
- wp-config.phpを正しい情報に修正
- 保存してFTPでアップロード(上書き)
- サイトにアクセスして確認
データベースサーバーの状態を確認
レンタルサーバー側の問題かどうかを確認します。
手順:
- レンタルサーバーの管理画面にログイン
- 「データベース」セクションを開く
- データベースサーバーが「稼働中」になっているか確認
- メンテナンス情報や障害情報を確認
データベースを修復する
データベーステーブルが破損している場合は、WordPressの修復機能を使います。
手順:
- FTPで
wp-config.phpをダウンロード - 以下の行を追加(「/* 編集が必要なのはここまでです ! 」の直前):
define('WP_ALLOW_REPAIR', true);
- 保存してアップロード
- ブラウザで以下のURLにアクセス:
https://あなたのドメイン/wp-admin/maint/repair.php
- 「データベースを修復する」または「データベースを修復して最適化する」をクリック
- 修復が完了したら、wp-config.phpから先ほど追加した行を削除
WP_ALLOW_REPAIR の行を削除してください。放置すると、誰でも修復ページにアクセスできてしまいセキュリティリスクになります。
データベースのパスワードをリセット
パスワードが間違っている可能性がある場合は、新しいパスワードを設定します。
手順:
- レンタルサーバーの管理画面にログイン
- 「データベース」→「データベースユーザー」を開く
- 該当ユーザーの「パスワード変更」をクリック
- 新しいパスワードを設定
- wp-config.phpの
DB_PASSWORDを新しいパスワードに変更 - 保存してアップロード
データベース容量を確認
データベースの容量制限を超えていないか確認します。
手順:
- レンタルサーバーの管理画面で、データベースの使用量を確認
- 上限に達している場合は、以下の対策を実施:
- 不要なデータ(リビジョン、ゴミ箱)を削除
- WP-Optimizeなどのプラグインでデータベースを最適化
- プランをアップグレードして容量を増やす
phpMyAdminで直接データベースを確認
上級者向けです。phpMyAdminでデータベースに直接アクセスできるか確認します。
手順:
- レンタルサーバーの管理画面から「phpMyAdmin」を開く
- wp-config.phpに記載されているユーザー名とパスワードでログイン
- ログインできれば、データベース自体は正常に動作している
- ログインできない場合は、ユーザー名またはパスワードが間違っている
サーバー会社のサポートに連絡
上記すべての方法で解決しない場合は、サーバー側の問題の可能性があります。
サポートに伝える情報:
- エラーメッセージ(「データベース接続確立エラー」)
- エラーが発生した日時
- 試した解決方法
- phpMyAdminでログインできるかどうか
予防策
データベース接続エラーを未然に防ぐための対策です。
1. wp-config.phpのバックアップを保存
- wp-config.phpをローカルに保存しておく
- データベース接続情報を別途メモしておく
2. 定期的なデータベース最適化
- WP-Optimizeなどのプラグインで定期的に最適化
- リビジョンやゴミ箱を定期的に削除
3. データベースのバックアップ
- UpdraftPlusなどで自動バックアップを設定
- 週1回以上のバックアップを推奨
4. サーバー移転時は慎重に
- 新サーバーのデータベース情報を事前に確認
- wp-config.phpを必ず更新
- 移転前にチェックリストを作成
よくある質問
Q1. データベース接続情報を変更したらサイトが壊れますか?
A. 正しい情報に変更すれば問題ありません。ただし、間違った情報を入力すると、エラーがさらに悪化する可能性があります。必ず変更前にバックアップを取り、レンタルサーバーの管理画面で正しい情報を確認してから変更してください。
Q2. データベースを修復したらデータは消えますか?
A. 通常、データは消えません。修復機能は破損したテーブルを修復するだけで、データ自体は保持されます。ただし、念のためバックアップがあることを確認してから実行してください。
Q3. エラーは出るが管理画面にはログインできます
A. それは別のエラーです。データベース接続エラーの場合、管理画面にもアクセスできなくなります。管理画面にアクセスできる場合は、テーマやプラグインの問題である可能性が高いです。
Q4. 突然エラーが出るようになりました
A. 何も変更していないのに突然エラーが出る場合、以下の可能性があります:(1) レンタルサーバー側の一時的な障害、(2) データベース容量の上限到達、(3) アクセス集中によるサーバー負荷。まずはサーバー会社の障害情報を確認しましょう。
Q5. ローカル環境では動くのにサーバーでエラーが出ます
A. ローカル環境とサーバーではデータベース接続情報が異なります。wp-config.phpをサーバーにアップロードする際、DB_HOST、DB_NAME、DB_USER、DB_PASSWORDをサーバーの情報に変更する必要があります。
まとめ
データベース接続エラーの解決チェックリスト
- ✓ wp-config.phpのバックアップを取る
- ✓ レンタルサーバーの管理画面でデータベース情報を確認
- ✓ wp-config.phpの4つの設定(DB_NAME、DB_USER、DB_PASSWORD、DB_HOST)を確認・修正
- ✓ データベースサーバーが稼働しているか確認
- ✓ 必要に応じてデータベースを修復
- ✓ 解決後、WP_ALLOW_REPAIRの行を削除
- ✓ 今後のために、wp-config.phpのバックアップを保存
データベース接続エラーは、ほとんどの場合wp-config.phpの設定ミスが原因です。落ち着いて、このページで紹介した方法を順番に試してみてください。