WordPressにおけるデータベース接続確立エラーの解決方法

WordPressにおけるデータベース接続確立エラーの解決方法

「データベース接続確立エラー」は、WordPressサイトがデータベースにアクセスできなくなった際に表示される厄介なエラーです。さまざまな原因が考えられますが、一般的にはwp-configファイルの設定ミス、データベース認証情報の問題、データベースの破損などが挙げられます。

このデータベースエラーを放置すると、Webサイトが表示されなくなるなど、ユーザー体験が著しく低下してしまう原因となる場合があります。

今回のWordPressチュートリアルでは、「データベース接続確立エラー」の概要、主な原因、実際に役立つ解決策を手順を追って解説します。さらに、再発を防ぐための予防策も合わせてご紹介します。

WordPressのチートシートをダウンロード

エラーコードデータベース接続確立エラー
エラーの種類データベースエラー
エラーの原因wp-configファイルとWordPressデータベース間の情報の不一致データベース認証情報の誤りデータベースの破損コアファイルの破損

「データベース接続確立エラー」は、名前のとおりWordPressサイトがデータベースに接続できなくなった状態を指します。このエラーが発生すると、Webサイトが表示できなくなったり、管理パネルにアクセスできなくなったりするなど、さまざまな不具合が生じる可能性があります。


一般的な原因としては、設定の不一致、無効な認証情報、データベース障害、コアファイルの破損などが挙げられます。

通常、WordPressサイトでは訪問者がページを訪問すると、PHPコマンドがデータベースから必要な情報を取得し、この情報を元にWebページが表示される仕組みになっています。

しかし、何らかの理由でデータベース接続が失敗すると、必要なデータが取得できなくなり、サイト訪問者のブラウザには「データベース接続確立エラー」というメッセージが表示されてしまうわけです。

サイトにWebページキャッシュが設定されている場合、エラーメッセージが一時的に表示されずに、問題に気づくのが遅れてしまうことがあります。ただし、管理パネルにアクセスできない場合は、データベース接続エラーが発生している明確なサインと言えるでしょう。

WordPressの「データベース接続確立エラー」の原因

WordPressで「データベース接続確立エラー」が発生する理由はいくつか考えられます。

  • wp-configファイルのデータベース認証情報の誤り:WordPressのデータベースにアクセスするためのパスワードやユーザー名が間違っている可能性があります。MySQLデータベースのパスワードやユーザー名を変更した場合、wp-configファイル内の情報も更新する必要があり、古い情報のままだとデータベースにアクセスできなくなります。 
  • データベースの破損:プラグインやテーマの干渉が原因でデータベーステーブルが破損してしまうことがあります。データベース自体に問題が生じると、当然ながら接続エラーが発生してしまう可能性があります。
  • データベースサーバーエラー:レンタルサーバー側のインフラに問題がある場合、データベースエラーが発生する場合があります。例えば、急激なアクセス増加によりサーバーに負荷がかかっている、権限設定に問題がある、といったケースが挙げられます。
  • コアファイルの破損:WordPressのコアファイルはWebサイト全体の動作を制御しています。プラグインやテーマの不具合によってこれらのファイルが破損すると、データベース接続にも影響を及ぼす可能性があります。

また、エラーメッセージの内容から原因を特定できる場合もあります。例えば、WordPressの管理パネルでデータベース認証情報に関するエラーが表示された場合は、ログイン情報が正しくない可能性が高いでしょう。

WordPressの「データベース接続確立エラー」の8つの解決方法

「データベース接続確立エラー」の原因がわかったところで、次は実際の解決方法を見ていきましょう。ただし、設定ミスによってさらに問題が悪化するのを防ぐため、作業を始める前に必ずWebサイトのバックアップを取っておくことを推奨します。

1. データベースサーバーを確認する

データベースには同時に接続できるクライアント数に上限があります。この制限を超えると、サーバーが接続を切断し、Webサイトが必要なデータを取得できなくなり、ダウンタイムが発生してしまいます。

そのため、トラフィックの急増がデータベース接続確立エラーの原因となることも多くなっています。この問題を解決するには、W3 Total CacheWP Rocketなどのキャッシュプラグインを導入して、サーバーへのリクエスト数を減らすのが効果的となるでしょう。

ネットワークの問題もこのエラーの原因となる場合があります。同じサーバー上の他のWordPressサイトも同じ問題を抱えているかどうか、レンタルサーバー会社に問い合わせてみましょう。他のサイトでも同様の症状が確認された場合、レンタルサーバー側に原因があると考えられます。

サーバー応答の問題としてよくあるのは、ユーザー権限の不足です。WordPressデータベースユーザーに適切なアクセス権限がないと、バックエンドに接続してコンテンツを取得できません。

データベースユーザーの権限を確認するには、PHPを使ってMySQLサーバーにアクセスしてみましょう。Hostingerプランでは、以下の手順で確認できます。

  •  hPanelにログインし、上部メニューからWebサイトを選択して、確認するサイトのダッシュボードをクリックします。
  • サイト管理ページで、ファイルマネージャーを選択します。
  • public_htmlフォルダに移動し、左側の新規ファイルの作成アイコンをクリックします。
  • 新しいPHPファイル(ここではtest.phpとします)を作成します。
  • 以下のコードをファイルに貼り付けます(MySQLデータベースのユーザー名とパスワードは実際の値に変更してください)。
<?php
$link = mysqli_connect('localhost', 'username', 'password');
if (!$link) {
die('Could not connect: ' . mysqli_error());
}
echo 'Connected successfully';
mysqli_close($link);
?>
  • 画面右上のディスクアイコンをクリックして、ファイルを保存します。
  • ブラウザで新しいタブを開き、「domain.com/public_html/test.php」にアクセスしてください。
domain.com/public_html/test.php

このデバッグスクリプトがエラーを返さなければ、データベースユーザーは適切な権限を持っており、接続は問題ないはずです。

エラーが表示される場合は、データベースユーザーの権限を調整しましょう。hPanelの場合、データベース利用中のMySQLデータベースとユーザーの一覧から設定できます。

アカウント横の三点アイコンをクリックし、権限を変更を選択します。すべての権限にチェックを入れて更新をクリックした後、再度デバッグスクリプトを実行して問題が解決したか確認しましょう。

2. データベースの認証情報を確認する

「データベース接続確立エラー」のよくある原因として、認証情報の不一致もよく挙げられます。特に、WordPressサイトを新しいレンタルサーバーに移行した直後に発生しやすい問題です。

この問題を解決するにはまず、レンタルサーバーのコントロールパネルとwp-config.phpファイルのデータベース情報が一致しているかを確認します。コントロールパネルにアクセスできない場合は、FileZillaなどのFTPクライアントを使ってWebサイトファイルを見てみましょう。

一般的な手順は似ていますが、若干異なる部分もあり、ファイルを手動でダウンロードして編集し、再アップロードする必要があります。Hostingerなら、hPanelファイルマネージャーから直接ファイルを編集できて便利です。

ファイルマネージャーを開いたら、public_htmlディレクトリ内のwp-config.phpファイルを見つけて右クリックし、編集を選択します。その後、以下のデータベース情報をチェックしてください。

  • DB_NAME – データベース名
  • DB_USER – データベースのユーザー名
  • DB_PASSWORD – データベースのパスワード
  • DB_HOST – データベースのホスト

この情報をメモしておき、ホスティングアカウントの情報と照合します。hPanelに戻り、データベース管理に移動してください。

利用中のMySQLデータベースとユーザーの一覧セクションにある情報と比較してみましょう。 wp-configファイルとMySQLデータベース設定の情報が一致しているのに問題が解決しない場合は、次の解決策に進みます。

もし情報が一致していなければ、レンタルサーバーのコントロールパネルから正しいデータベース情報をwp-config.phpに入力してください。

define('DB_NAME', 'fill_this_with_your_current_database_name');

define('DB_USER', 'fill_this_with_your_current_username');

define('DB_HOST', 'fill_this_with_your_current_localhost');

プレースホルダーを実際の情報に置き換え、ディスクアイコンをクリックして変更を保存し、Webサイトを更新して問題が解決したか確認します。

エラーが続く場合は、データベースパスワードをリセットしてみましょう。利用中のMySQLデータベースとユーザーの一覧セクションから、三点アイコンパスワードの変更をクリックし、新しいパスワードを設定して更新します。

正しいユーザー名とパスワードを使用しているにもかかわらずエラーが表示される場合は、wp-config.phpファイル内のDB_HOSTの値を確認してください。レンタルサーバーによっては、「localhost」や「127.0.0.1」、または特定のURLが必要となる場合があります。

正確な値については、レンタルサーバー会社に確認するのが確実です。ただし、最近WordPressサイトを移行していなければ、MySQLホスト名が原因である可能性は低いでしょう。

3. 破損したファイルを修正する

データベースの問題以外にも、ファイルの破損も「データベース接続確立エラー」の原因になることがあります。特にテーマやプラグインのコードがWordPressのコアファイルと競合している場合に起こる場合があります。

まずは、原因である可能性が高い最近インストールしたプラグインやテーマを無効化してみましょう。複数のプラグインがある場合は、まずすべてを一度に無効にしてから、問題のあるものを特定するために一つずつ有効化すると効率的です。

WordPressの管理画面からプラグインを無効化するには、サイドバーのプラグインをクリックし、左上のチェックボックスですべてを選択します。その後、一括操作のドロップダウンから無効化を選んで適用をクリックしてください。

テーマについては、残念ながら管理画面からすべてを同時に無効化することはできません。管理パネルの外観テーマから個別に切り替える必要があります。

もしデータベースエラーにより、WordPressの管理画面にアクセスできない場合は、ファイルマネージャーやFTPを使ってpluginsフォルダの名前を変更することで、一時的にすべてのプラグインを無効化できます。

Hostingerユーザーの場合は、ファイルマネージャーpublic_htmlwp-contentの順に移動し、pluginsフォルダを右クリックして名前を変更を選択します。その後、新しい名前(例:plugins_old)を入力して確定します。

フォルダ名を変更したら、バックエンドや管理画面にアクセスできるようになるはずです。問題が解決したら、ファイルマネージャーに戻ってフォルダを元の名前に戻しましょう。

重要!同様の方法でテーマフォルダの名前を変更すると、すべてのテーマを同時に無効化することもできますが、プラグインとは異なり、フォルダ名を元に戻した時点で自動的にデフォルトテーマが有効化されます。

すべてのプラグインを無効化したら、管理パネルから一つずつ有効化して、問題のあるプラグインを特定しましょう。原因となるプラグインが見つかったら、その名前の下にある削除をクリックして削除します。

どの方法も解決しない場合、コンテンツ管理システムCMS)のコアファイルが破損している可能性があります。その場合、新しいWordPressのインストールから基本ファイルを取得して置き換える必要があります。

WordPressを新たにダウンロードしてパッケージを解凍し、wp-contentフォルダとwp-config-sample.phpファイルを削除します。その後、残りのファイルをファイルマネージャーやFTPを使用して、Webサイトのルートディレクトリにアップロードしましょう。

重要!コアファイルを修復するためにWordPressをゼロから再インストールすることも可能ですが、Webサイトのデータが消去されてしまうため、推奨はされません。

4. WordPressでデータベースを修復する

「データベース接続確立エラー」のもう一つの原因として、データベースの破損が考えられます。これは、プラグインやテーマを頻繁に削除することにより、不要なデータがデータベーステーブルに残り、障害を引き起こすことがあるためです。

通常、データベースに問題がある場合、WordPressのダッシュボードに「One or more database tables are unavailable. The database may need to be repaired(データベーステーブルが利用できません。データベースの修復が必要です)」というメッセージが表示されます。

データベース修復機能を有効にするには、wp-config.phpファイルの末尾に次のコードを追加します。

define('WP_ALLOW_REPAIR', true);

ファイルマネージャーからpublic_htmlフォルダに移動し、wp-config.phpファイルを右クリックし、編集をクリックしします。その後、上記のコードを貼り付け、ディスクアイコンをクリックして保存しましょう。

次に、ブラウザで「http://www.your-site-domain.com/wp-admin/maint/repair.php」にアクセスします。すると2つの修復オプションが表示されるので、「データベースの修復」を選択して完了するのを待ちます。

修復が完了したら、WordPressサイトに戻って問題が解決したかを確認しましょう。セキュリティ上の理由から、wp-config.phpから先ほど追加した修復機能のコードを削除必ず削除するようにしましょう。

5. 新しいデータベースを作成する

これまでの方法で問題が解決しない場合は、現在のデータベースが完全に破損している可能性があります。そのような場合は、新しいMySQLデータベースを作成して、バックアップからWebサイトデータを復元する必要があります。

具体的な手順はレンタルサーバー会社によって異なりますが、Hostingerプランを例に説明します。まずはバックアップのダウンロードから始めましょう。

  • hPanelにログインし、Webサイトの管理メニューを開きます。
  •  サイドバーからファイルバックアップに移動します。
  • データベースのバックアップを選択します。
  • ドロップダウンメニューから問題のあるデータベースを選び、データベースを表示をクリックして利用可能なバックアップを表示します。
  • 復元する日付のバックアップを選んでダウンロードをクリックしてください。
  • hPanelがファイルの準備を完了したら、バックアップのダウンロードをクリックします。

念のため、複数の日付のバックアップをダウンロードしておくことを推奨します。

次に、新しいデータベースを作成し、phpMyAdminを使ってデータを復元します。

  • hPanelのWebサイト管理メニューで、サイドバー → データベース管理の順に移動します。
  • 新しいMySQLデータベース名、ユーザー名、パスワードを入力し、データベースを作成をクリックします。
  • 下にスクロールし、新しく作成したデータベースのphpMyAdminに移動をクリックします。
  • データベース管理パネルでインポートタブに切り替えます。
  • ファイルの選択をクリックしてダウンロードしたバックアップを選択し、インポートをクリックします。

最後に、wp-config.phpファイルを編集して、新しいデータベース情報をWordPressに伝えます。ファイルマネージャーからpublic_htmlフォルダに移動し、wp-config.phpを右クリックし、編集をクリックします。

対応する行に新しいデータベース名、ユーザー名、パスワードを入力して保存してください。これでWordPressの管理パネルが正常に動作するはずです。

6. ドメインがプロバイダーに適切に紐付いているか確認する

利用するレンタルサーバー会社を変更した場合、ドメインが正しいデータベースホストに紐付けられていないと、エラーが発生してしまう可能性があります。ファイルは新しいサーバーに移動していても、ドメインが古いサーバーに紐付いたままだと、Webサイトはデータを取得できません。

ドメインが正しいサーバーに紐付いているかどうかを確認するには、レンタルサーバーのコントロールパネルとWHOISのネームサーバー情報が一致しているかをチェックします。

Hostingerでネームサーバーを確認するには、hPanelWebサイトダッシュボード → プラン名の下の詳細を見るに移動します。または、dnscheckerなどのオンラインツールを使うこともできます。

情報が一致していれば、ドメインは正しいサーバーに紐付いており、問題なく機能するはずです。もし一致していなければ、ドメインレジストラのコントロールパネルで正しいネームサーバーを設定する必要があります。

Hostingerドメインのネームサーバーを変更するには、hPanel → ドメイン管理に移動します。ドメイン情報のセクションで、ネームサーバーの横にある変更をクリックして設定を変更します。

重要!ドメインとWebサイトの両方がHostingerでホストされている場合は、ネームサーバーが自動的にHostingerのものに設定されているはずです。

また、ドメインをIPアドレスに割り当てるDNS設定の一種であるAレコードを使ってドメイン名をHostingerに紐付けることもできます。ただし、この方法は静的IPアドレスを使用している場合にのみ有効です。

Aレコードを設定するには、まずオンラインDNSルックアップツールでドメイン名のAレコード値を確認します。次に、ホスティングアカウントでサーバーのIPアドレスを調べます(Hostingerの場合は、プランの詳細ページに記載されています)。

最後に、ドメインレジストラのコントロールパネルに移動し、Aレコード値をレンタルサーバー会社のIPアドレスに更新。Hostingerユーザーであれば、DNSゾーンエディターメニューからこの設定が可能です。

7. WordPressサイトのURLを更新する

Webサイトを別のレンタルサーバー会社に移行した後にデータベース接続確立エラーが発生している場合は、WordPressサイトのURLが変更されているかを確認しましょう。URLの不一致によって、MySQLデータベースがフロントエンドに正しく接続できなくなり、エラーが発生する可能性があります。

この問題を解決するには、phpMyAdminを使ってMySQLデータベース内のサイトURLを更新します。Hostingerユーザーの場合、hPanelデータベース管理からパネル

にアクセスできます。

サイドバーからWordPressデータベースを選択し、SQLタブをクリックし、以下のコードを入力フィールドに貼り付けます。

UPDATE wp_options SET option_value = replace(option_value, 'http://www.old-domain.com', 'http://www.new-domain.com') WHERE option_name = 'home' OR option_name = 'siteurl';

UPDATE wp_posts SET guid = replace(guid, 'http://www.old-domain.com','http://www.new-domain.com');

UPDATE wp_posts SET post_content = replace(post_content, 'http://www.old-domain.com', 'http://www.new-domain.com');

UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://www.old-domain.com','http://www.new-domain.com');

「http://www.old-domain.com」を古いサイトのURLに、「http://www.new-domain.com」を新しいサイトのURLに置き換えます。その後、下部までスクロールして実行するボタンをクリックすると、スクリプトが実行されます。

8. WordPressの「データベース接続確立エラー」を修正する代替方法

ここまでの解決策を試してもデータベース接続確立エラーが解消しない場合は、以下の代替方法も検討してみましょう。

カスタマーサポートに連絡する

レンタルサーバー会社のカスタマーサポートに問い合わせるのも効果的な方法です。サポートチームであれば、バックエンドに直接アクセスできるため、問題の根本原因を特定できる可能性が高くなります。

レンタルサーバー会社によってサポート体制は異なりますが、Hostingerのカスタマーサクセスチームの場合、年中無休でライブチャットサポートを提供しています。

もしレンタルサーバー会社によって、24時間体制のサポートが提供されていない場合は、公式のWordPressフォーラムなどで解決策を探すのも一つの手です。ただし、公開フォーラムで質問する際には、データベース認証情報などの機密情報は絶対に開示しないように注意してください。

Webサーバーを再起動する

専用ホスティング環境でWordPressとMySQLサーバーを運用している場合は、サーバーを再起動してみましょう。再起動することで、接続エラーの原因となっている可能性のあるバックグラウンドプロセスが終了します。

HostingerのVPSユーザーの場合、VPS概要ページの再起動ボタンをクリックするだけでWebサーバーとデータベースサーバーを簡単に再起動できます。

あるいは、PuTTYなどのSSHクライアントルートユーザーとして接続し、再起動コマンドを入力する方法もあります。Linuxサーバーの場合、次のコマンドを実行します。

reboot

共有ホスティングを使用している場合は手動で再起動できない可能性があるため、レンタルサーバー会社のサポートに問い合わせしてください。

最新のバックアップを復元する

エラーの原因となった変更を元に戻すために、データベースとWebサイトファイルの両方を最近のバックアップから復元するのも有効です。最も簡単な方法は、レンタルサーバーのコントロールパネルのバックアップ機能を利用することです。

Hostingerユーザーなら、hPanelから数クリックでバックアップを復元できます。Webサイト管理エリアで、サイドバー → ファイルバックアップの順に移動し、Webサイトの復元を選択します。

最新の日付を選んで、確認ボックスにチェックを入れて復元をクリックします。

データベースも同様に、データベースのバックアップメニューから同じ手順で復元可能です。

WordPressの「データベース接続確立エラー」を防止する方法

データベースの問題はWebサイトのトラフィックやSEO評価に悪影響を及ぼす可能性があります。一度エラーを修正したら、以下のベストプラクティスを取り入れて再発を防ぎましょう。

  •  自動バックアップを設定する:WordPressとデータベースを定期的にバックアップしておけば、問題が再発した時に簡単に復元できます。これによりトラブルシューティングが格段に楽になり、データ損失も防げます。
  • データベースの最適化を行うWP-Optimizeなどのプラグインを使ってデータベースを定期的にクリーンアップしましょう。データが溜まりすぎるとWebサイトの動作が遅くなり、最終的には接続エラーの原因になることもあります。
  • 信頼できるテーマとプラグインだけを使用する:WordPressの公式ディレクトリなど、信頼できるソースからのみプラグインやテーマをダウンロードしましょう。出所不明のソフトウェアにはマルウェアや互換性のないコードが含まれている危険性があります。
  • 信頼性の高いレンタルサーバー会社を選ぶ:安定したサービスを提供するレンタルサーバー会社でWordPressサイトを運用しましょう。Hostingerならデータベースの高い稼働率を確保でき、万が一の時も頼れるカスタマーサクセスチームがあります。
  • 最新情報をチェックする:WordPressの最新情報を入手するためにHostingerのブログを定期的にチェックしましょう。これらの更新情報には潜在的な問題点や対策が記載されていることが多いです。
  • 定期的な監視を忘れずに行う:WordPressサイトとデータベースを定期的にチェックすることで、小さな問題が大きなトラブルになる前に発見して対処できます。

まとめ

「データベース接続確立エラー」は、WordPressサイトがデータベースから情報を取得できなくなった時に発生する問題です。主な原因としては認証情報の不一致、ファイルの破損、サーバーの不具合などが挙げられます。

この記事では、このエラーに対する一般的な解決策をいくつか紹介してきました。まずはテスト用のPHPファイルを実行して、データベースが正常に動作しているか、WordPressのユーザーに十分なアクセス権限があるかを確認しましょう。また、レンタルサーバーのコントロールパネルとwp-config.phpファイルのデータベース情報が一致しているかも重要なチェックポイントです。

問題が解決しない場合は、プラグインやテーマを無効化してコードの競合がないか確認したり、WordPressの新しいコアファイルに置き換えたりする方法も効果的です。

それでも改善しない場合は、データベース自体に問題がある可能性が高いため、WordPress修復機能を実行するか、バックアップから新しいデータベースを作成します。最近ドメインを変更した場合は、phpMyAdminでURLを更新してみましょう。また、DNSチェッカーツールで正しいネームサーバーに紐づけられているか確認することも重要となります。

問題の再発を防ぐには、WP-Optimizeなどのプラグインでデータベースを定期的に最適化し、信頼性の高いレンタルサーバー会社でWebサイトを運用することがおすすめです。Hostingerなら年中無休のサポート体制と安定した稼働率により、安心してWebサイト運営が行えます。

データベース接続確立エラーに関するよくある質問

このセクションでは、データベース接続確立エラーに関するよくある質問にお答えします。

WordPressのデータベース接続が機能しない理由は?

WordPressサイトがデータベースに接続できなくなる理由はいくつか考えられます。まず、サーバーがダウンしている可能性がありますし、wp-config.phpファイルのデータベース認証情報が間違っているケースも多いです。そのほか、データベースやコアファイルが破損しているケースもあり、これはWordPressとプラグインやテーマとの互換性の問題から生じることがあります。

プラグインやテーマがデータベース接続エラーを引き起こす可能性はありますか?

はい、十分にテストされていないプラグインやテーマは、データベース接続を妨げるようなコードの競合を引き起こすことがあります。また、プラグインやテーマを頻繁に追加・削除していると、データベーステーブルが破損してエラーの原因になることも。対処法としては、問題のあるプラグインやテーマをアンインストールするか、データベーステーブルが破損している場合は新しいデータベースを作成するといった方法があります。

Webサイトのトラフィックが多すぎることにより、データベース接続エラーが発生することがありますか?

はい、Webサイトへのアクセスが急増すると、データベースホストがリクエストの量に追いつけなくなることがあります。その結果、データベースにアクセスできなくなり、バックエンドからコンテンツを取得できなくなってエラーが発生します。

Author
著者

Yūto Ōmura

イギリスから日本へ帰国後、翻訳者として8年従事。英国の大学ではメディア・映像を専攻し、以来、日英両言語にて10年以上複数のウェブサイトおよび動画メディアを運営。プライベートでは、料理をしたり、家族で小旅行に行ったりするのが好きです!