WordPressの「データベース接続確立エラー」の原因と対処法|突然出たらまず確認すること
直らないときは、無料でご相談いただけます(直らなければ料金はいただきません)。
結論:「データベース接続確立エラー」は、WordPressが記事や設定をしまっているデータベースにつながらないときに出ます。何もしていないのに急に出たときは、サーバー側の障害や混雑も考えられます。データベースのパスワードを変えた・サーバーを引っ越したなど、設定を変えた直後なら、wp-config.php の接続の情報が食い違っている可能性があります。
まずはサーバー会社の障害・メンテナンス情報を確かめ、そのうえで直前にした変更を見直します。
目次
画面に出る文と、その意味
どこで見たかによって、出る文が変わります。管理画面のほうが、くわしい文が出ます。
| 出る文 | 意味 | 見るところ |
|---|---|---|
| データベース接続確立エラー | サイトの表側(訪問者が見る画面)では、この1行だけが出ます | 手順1・手順2 |
| これは、wp-config.php ファイルのユーザー名とパスワードが正しくないか、あるいは ○○ のデータベースサーバーに接続できないかのどちらかを意味します。 | 管理画面で出ます。接続の情報が違っているか、データベースのサーバーが止まっている・混んでいる可能性があります | 手順1・手順2 |
| データベースサーバーに接続することはできましたが (これはユーザー名とパスワードには問題がないということです)、○○ データベースは選択できませんでした。 | つながりはしたものの、指定したデータベースを選べない状態です。名前の誤りや、そのユーザーに使う権限が無い可能性があります | 手順2 |
| 使用できないテーブルがあります。データベースの修復が必要かもしれません。 | データベースの中の一部が壊れている可能性があります | 手順3 |
このエラーが出ていても、多くの場合、記事や画像が消えたわけではありません。データベースにつながらず、読み出せない状態です。
直前にしたことから、原因の見当をつける
| 直前にしたこと | よくある原因 | まず見るところ |
|---|---|---|
| 何もしていないのに、急に出た | サーバーの障害・メンテナンス、アクセスの集中、データベースの容量の上限 | 手順1 |
| データベースのパスワードを変えた | wp-config.php のパスワードと食い違っている |
手順2 |
| サーバーを引っ越した・データベースを作り直した | データベース名・ユーザー名・ホスト名の食い違い | 手順2 |
| 「修復が必要かもしれません」と出た | データベースの中の一部が壊れている可能性 | 手順3 |
| 心当たりが無いのに、ファイルが書き換えられていた | 改ざんの可能性 | 改ざん・乗っ取りの記事 |
作業の前に確かめること
wp-config.phpの写し:書き換える前に、ファイルの写しを手元のパソコンに保存しておきます。- データベースのバックアップ:修復をする前には、レンタルサーバーのバックアップなどがあるか、いつの時点のものかを確かめておきましょう。
手順1のように、確かめるだけの作業なら、ファイルを触る必要はありません。
データベース接続確立エラーの確かめ方(手順)
1. サーバー会社の障害・メンテナンス情報を確かめる
お使いのレンタルサーバーの「障害・メンテナンス情報」のページを開き、データベースのサーバーに障害やメンテナンスが出ていないかを確かめます(主なレンタルサーバーの一覧)。
- 障害やメンテナンスが出ている:多くの場合、復旧を待てば表示が戻ります。設定は触らずに、復旧のお知らせを待ちましょう。
- 何も出ていない:少し時間をおいて、もう一度開いてみます。アクセスが集中して一時的につながらなくなっていた場合は、時間をおくと戻ることがあります。サーバーの管理画面で、データベースの容量が上限に近づいていないかも見ておきます。
何もしていないのに出て、時間をおいても戻らないときは、サーバー会社に問い合わせるのが近道です。「いつから」「どの画面で」出ているかを伝えましょう。
2. wp-config.php の接続の情報を確かめる
データベースのパスワードを変えた直後や、サーバーを引っ越した直後なら、wp-config.php に書かれている接続の情報が、今のデータベースと食い違っている可能性があります。
wp-config.php には、次の4つの行があります。
| 行 | 中身 |
|---|---|
DB_NAME |
データベース名 |
DB_USER |
データベースのユーザー名 |
DB_PASSWORD |
データベースのパスワード |
DB_HOST |
データベースのホスト名(localhost のことも、サーバー会社が決めた名前のこともあります) |
データベースのパスワードは、WordPressのログインのパスワードとは別のものです。大切な情報なので、ご相談のときも、パスワードは含めずにお知らせください。
- レンタルサーバーの管理画面の「データベース」(「MySQL設定」など)の画面で、データベース名・ユーザー名・ホスト名を確かめます。
- 対象のサイトの
wp-config.phpであることを確かめ、4つの行と見比べます。違っていたら、' 'の中の値だけを、正しいものに書き換えます。' 'の記号や、行の最後の);は消さずに残します。 - パスワードが分からないときは、サーバーの管理画面で、データベースのユーザーのパスワードを設定し直します。その前に、同じデータベースのユーザーをほかのサイトでも使っていないかを確かめましょう(使っている場合は、そちらの設定も合わせる必要があります)。分からない場合は、サーバー会社にご相談ください。設定し直したら、
wp-config.phpのDB_PASSWORDも同じものにします。 - 保存したら、サイトと管理画面を開いて確かめます。値を書き換えただけで変わらないときは、保存しておいた写しに戻します。サーバー側でパスワードを設定し直した場合は、写しには戻さず、
DB_PASSWORDを新しいパスワードに合わせたままにして、手順4へ進みます。
保存するときに、ファイルの先頭や最後に空白や空の行が入ると、別のエラーになることがあります(真っ白の記事の「ログイン画面・ログインした直後が真っ白のとき」・「headers already sent」と出るときの記事)。
3. 「修復が必要かもしれません」と出たときは、データベースを修復する
この手順は、「データベースの修復が必要かもしれません」と表示された場合に進みます。手順をすべて行う必要はありません。
WordPressには、データベースを修復する機能があります。ふだんは止まっていて、wp-config.php に1行足すと使えるようになります。修復の前に、データベースのバックアップを取っておきます(バックアップの記事の「バックアップの取り方」)。取り方が分からない・取れない場合は、修復を始める前にサーバー会社へご相談ください。
wp-config.phpの写しを保存し、「編集が必要なのはここまでです」の行より上に、次の1行を足します。
define( 'WP_ALLOW_REPAIR', true );
- ブラウザで
https://(サイトのアドレス)/wp-admin/maint/repair.phpを開き、「データベースを修復」を押します。WordPressをフォルダの中に置いているサイトでは、そのフォルダ名を含むアドレスになります。開けない場合は、置いている場所をサーバー会社に確かめてください。 - 修復が終わったら、結果を確かめます。
- 足した1行を必ず消します。直らなかった場合や、途中でやめた場合も消します。消したら、サイトと管理画面が開けるかを確かめます。
この1行を入れている間は、ログインしていない人でも修復の機能を使えます。終わったら、すぐに消しておきましょう。修復しても直らないときは、サーバー会社やWP-ingにご相談ください。
4. それでも直らないとき
- サーバー会社に問い合わせ、データベースのサーバーが動いているか、容量やアクセスの制限にかかっていないかを確かめてもらいます。
- 心当たりが無いのに
wp-config.phpなどが書き換えられていたときは、改ざんの可能性もあります。改ざん・乗っ取りの記事をご覧ください。
主なレンタルサーバーでの場所
| サーバー | 障害・メンテナンス情報 | データベースの設定 |
|---|---|---|
| エックスサーバー | 障害・メンテナンス情報 | サーバーパネル「MySQL設定」 |
| ConoHa WING | コントロールパネルの「お知らせ」 | 「サイト管理」→「データベース」 |
| ロリポップ! | 障害情報 | ユーザー専用ページの「データベース」 |
| さくらのレンタルサーバ | メンテナンス・障害情報 | コントロールパネルの「データベース」 |
画面の名前は変わることがあるため、くわしくは各社の案内をご覧ください。
自分で直すのが難しいとき
次のような場合は、無理に作業を進めず、ご相談ください。
- サーバーに障害が出ていないのに、時間をおいても直らない
- データベース名やホスト名が、どれが正しいか分からない
- 修復しても直らない
- サーバーの引っ越しの途中で、どこまで済んだか分からない
WP-ingでは、データベース接続確立エラーをはじめ、WordPressのエラーの修理を承っています。状況を確かめて、作業の前に料金をご案内します。直らなければ料金はいただきません。お支払いは、直ったことを確かめていただいてからです。
よくある質問
記事や画像は消えてしまったのですか?
多くの場合、消えたわけではありません。データベースにつながらず、読み出せない状態です。つながるようになれば、元のとおりに表示されることがほとんどです。ただ、データベースが壊れている場合もあるため、修復の前にはバックアップを確かめましょう。
何もしなくても直ることはありますか?
サーバーの障害やアクセスの集中が原因なら、復旧したり、混雑が落ち着いたりすると、表示が戻ることがあります。設定を変えた直後に出た場合は、自然には戻らないことが多いため、手順2をお試しください。