WordPressサイトがデータベースに接続できないとき、このようなエラーが表示されます。

「Error Establishing a Database Connection(データベース接続確立エラー)」

「Error Establishing a Database Connection」の原因

このエラーが発生する可能性はいくつかあります。

  • 【wp-config.phpのデータベース認証が正しくない】これは、WordPressサイトを手動で移行またはインストールする際によくあることです。
  • 【ウェブサイトのデータベースが破損している】これはあまり一般的ではありませんが、起こり得ます。データベースの認証情報を確認したら、次にこの点を調査しましょう。
  • 【WordPressのファイルが破損している】こちらも一般的ではありませんが、ハッキングやファイルをコピーまたはアップロードした際に起こることがあります。

「Error Establishing a Database Connection」エラーの解決方法

MyKinstaで該当するサイトの「バックアップ」タブに移動し、「今すぐバックアップ」ボタンをクリックして、サイトのバックアップを作成できます。

データベース認証情報の確認

サイトのデータベース認証情報を確認するには、MyKinstaのサイトの「情報」タブに移動します。「データベースへのアクセス」セクションに、データベース名、ユーザー名、パスワードが表示されます。次に、SFTPまたはSSHを使用してサイトのwp-config.phpファイルを表示し、データベースの詳細情報を比較します。

データベース名

// ** MySQL settings ** //
/** The name of the database for WordPress */
define('DB_NAME', 'xxxxxx');

MySQLデータベースのユーザー名

/** MySQL database username */
define('DB_USER', 'xxxxxx');

MySQLデータベースのパスワード

/** MySQL database password */
define('DB_PASSWORD', 'xxxxxx');

MySQLホスト名(サーバー)

/** MySQL hostname */
define('DB_HOST', 'localhost');

それぞれの情報が一致しない場合、wp-config.phpに正しい情報を入力し、保存します。SFTP経由でダウンロードした後、PCでファイルを表示・編集した場合には、必ず変更を加えたファイルをサーバーにアップロードし、以前の「wp-config.php」ファイルを上書きしてください。

すべての内容が一致しているにも関わらずエラーが発生している場合には、次のセクションに進んでください。

破損したデータベースの修復

前述のように、これはそれほど一般的な問題ではありませんが、データベーステーブルがプラグインやテーマによって追加、削除、変更されることで、発生する可能性があります。WordPress管理画面にログインし、以下のエラーが表示された場合は、データベースが破損しており、修復する必要があります。

「One or more database tables are unavailable. The database may need to be repaired. (1つ以上のデータベーステーブルが使用できません。データベースの修復が必要な場合があります)」

データベースを修復するには、WordPress、phpMyAdmin、WP-CLIのいずれかを使用する必要があります。詳しくは、以下にあるとおりです。

WordPressのデータベースを修復する

WordPressにはデータベース修復モードがあります。以下のコードスニペットをwp-config.phpファイルの末尾に貼り付けてください。

define('WP_ALLOW_REPAIR', true);

変更の保存後、ブラウザで「https://あなたのサイトドメイン.com/wp-admin/maint/repair.php」を開き、サイトのデータベース修復用インターフェースを開きます。

 WordPressのデータベースを修復する
WordPressのデータベースを修復する

 

Repair Databaseは、Repair and Optimize Databaseよりも高速です。対象とするサイトが一般に公開されている場合には、Repair Databaseの方を使用することをお勧めします。

phpMyAdminでデータベースを修復する

phpMyAdminにログイン、データベースをクリックし、すべてのテーブルを選択します。ページの一番下にあるドロップダウンメニューから、「テーブルを修復する」を選択します。これにより、REPAIR TABLE MySQLステートメントを実行するのと同じ効果が得られます。

 phpMyAdminでデータベースのテーブルを修復する
phpMyAdminでデータベースのテーブルを修復する

WP-CLIでデータベースを修復する

WP-CLIでデータベースを修復するには、以下のコマンドを実行します。

wp db repair

完了すると、次のようなメッセージが表示されます。

Success: Database repaired.

破損したファイルを修復する

データベース接続エラーの原因として(こちらもまた、あまり一般的ではありませんが)WordPressコアファイルの破損もあり得ます。これをテストし解決するには、SFTPまたはWP-CLIを使用してWordPress コアファイルを交換する必要があります。

SFTPでWordPressコアをインストールし直す

まず、WordPress.orgから真っさらな状態のWordPressファイルをダウンロードします。ここでダウンロードするバージョンは、すでにサイトで使用されているものと同じである必要があります。

ダウンロードしたファイルをパソコンで解凍し、wp-contentフォルダとwp-config-sample.phpファイルを削除してください。

SFTP接続でサイトにアクセスし、残りのWordPressファイルを(既存のファイルを上書きするかたちで)サイトにアップロードします。

アップロードが完了したら、サイトのキャッシュをクリアして、エラーが解消したかどうか確認しましょう。

WP-CLIでWordPressコアを再びインストールする

wp-contentディレクトリ(テーマ、プラグイン、メディアが格納されているディレクトリ)を上書きせずにWordPressを再インストールするには、次のコマンドを実行できます。

wp core download --skip-content --force

再インストールが完了したら、サイトのキャッシュをクリアして、エラーが解消したかどうか確認しましょう。

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

他の方法でうまくいかない場合は、最新のバックアップデータを復元してみるのも一つの手です。注意)エラーがしばらく続いている状況では、「最新」よりも前に遡る必要があるかもしれません。

MyKinstaで、サイトの「バックアップ」タブに移動して、復元したいバックアップデータを選択します。本番サイトに反映する前にステージング環境でバックアップをテストしたい場合は、バックアップの横にある「復元先を選択」ボタンをクリックし、ドロップダウンメニューから「ステージング」を選択します。

バックアップデータをステージング環境に復元
バックアップデータをステージング環境に復元

バックアップデータを本番環境に復元するには、バックアップの横にある「復元先を選択」ボタンをクリックし、ドロップダウンメニューから「本番」を選択します。

サポートに問い合わせる

上記のトラブルシューティングを実行してもエラーが解決できない場合には、知識豊富なカスタマーサポートエンジニアが24時間年中無休でご対応いたします。