データベースの接続エラー
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設定 ** //
/** WordPressのデータベース名 */
define('DB_NAME', 'xxxxxx');
MySQLデータベースのユーザー名
/** MySQLデータベースのユーザー名 */
define('DB_USER', 'xxxxxx');
MySQLデータベースのパスワード
/** MySQLデータベース名のパスワード */
define('DB_PASSWORD', 'xxxxxx');
MySQLホスト名(サーバー)
/** MySQLホスト名 */
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://yourdomain.com/wp-admin/maint/repair.php」を開き、サイトのデータベース修復用インターフェースを開きます。
「Repair Database」は、「Repair and Optimize Database」よりも高速です。対象とするサイトが一般に公開されている場合には、「Repair Database」の方を使用することをお勧めします。
phpMyAdminでデータベースを修復する
phpMyAdminにログイン、データベースをクリックし、すべてのテーブルを選択します。ページの一番下にあるドロップダウンメニューから、「テーブルを修復する」を選択します。これにより、REPAIR TABLE MySQLステートメントを実行するのと同じ効果が得られます。
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で、サイトの「バックアップ」タブに移動して、復元したいバックアップデータを選択します。本番サイトにバックアップを復元する前に、ステージング環境でテストするには、「復元先を選択」をクリックし、ドロップダウンメニューから使用するステージング環境を選択してください。
バックアップデータを本番環境に復元するには、バックアップの横にある「復元先を選択」ボタンをクリックし、ドロップダウンメニューから「Live(本番)」を選択します。
サポートに問い合わせる
上記のトラブルシューティングを実行してもエラーが解決できない場合には、知識豊富なサポートエンジニアが24時間年中無休でご対応いたします。