Windowsエラー
 Computer >> コンピューター >  >> トラブルシューティング >> Windowsエラー

WordPressのデータベース接続エラーを解決する5つの対処法

Error establishing a database connection(データベース接続確立エラー)」は、WordPressがウェブサイトのデータベースからデータを取得できなくなった際に表示されるエラーメッセージです。WordPressでは、メタ情報・投稿データ・ログイン情報・プラグイン設定・固定ページのデータなど、サイト運営に必要なほぼすべての情報がデータベースに保存されています。一方で、テーマファイルや画像、WordPress本体のコアファイルはデータベース外に保存されます。サイトへのアクセスがあるたびにPHPがデータベースへクエリを発行して必要なデータを取得しますが、この仕組みが何らかの原因で機能しなくなると、本エラーが発生します。

WordPressのデータベース接続エラーを解決する5つの対処法

このエラーは比較的よく見られるもので、WordPressを運用したことがある方なら一度は目にしたことがあるかもしれません。この記事では、エラーの主な原因を整理したうえで、実際に試せる解決策を順番にご紹介します。

「データベース接続確立エラー」が発生する主な原因

WordPressがデータベースサーバーに接続できなくなる原因は複数考えられます。特によくあるものは以下のとおりです。

  • データベースのログイン情報が誤っている:最も多い原因です。wp-config.phpに記載されたユーザー名やパスワードが正しくない場合、WordPressはデータベースサーバーとの接続を確立できず、このエラーが表示されます。
  • データベースの破損:データベース内の一部のテーブルやカラムが破損していると、WordPressが必要なデータを読み取れず、エラーが発生することがあります。
  • データベースサーバーの障害:データベースサーバーがダウンしている、または接続できない状態にある場合も同様のエラーが発生します。レンタルサーバー側の一時的な障害の可能性もあります。
  • WordPressファイルの破損:不正アクセスやハッキングによってWordPressディレクトリ内のファイルが改ざん・削除された場合も、このエラーの原因になり得ます。
  • PHPメモリ不足:サーバーに割り当てられたPHPメモリが不足している場合にもエラーが発生することがあります。この場合はphp.iniの設定を変更してメモリ上限を引き上げる必要があります。

対処法1:wp-config.phpの内容を確認する

まず最初に確認すべきは、WordPressディレクトリ直下にあるwp-config.phpです。内容が書き換えられていないか、記述に誤りがないかをチェックしましょう。

ファイルへのアクセス方法は2つあります。レンタルサーバーのcPanelに付属するファイルマネージャーを使うか、FileZillaなどのFTPクライアントでサーバーに接続し、ローカルのテキストエディタで開くかのどちらかです。

wp-config.phpを開いたら、以下の記述が正しく含まれていることを確認してください。

define('DB_NAME', 'database-name');

define('DB_USER', 'database-username');

define('DB_PASSWORD', 'database-password');

define('DB_HOST', 'localhost');
WordPressのデータベース接続エラーを解決する5つの対処法

DB_HOSTの値は、必ずしも「localhost」とは限りません。データベースサーバーがWebサーバーと別のIPアドレスで稼働している場合(ローカル環境ではなくレンタルサーバーでサイトを運用しているケースなど)は、ホスティング会社から指定されたホスト名を設定してください。

対処法2:テスト用スクリプトでデータベース接続を検証する

次に、データベースのユーザー名とパスワードで実際に接続できるかどうかを確認します。サイトのルートディレクトリにtestdatabaseconnection.phpという名前で以下の内容のファイルを作成し、ブラウザからアクセスしてみてください。「Connected successfully」と表示されれば、MySQLデータベースサーバー自体は正常に動作しています。

<?php

$link = mysqli_connect('localhost', 'username', 'password');

if (!$link) {

die('Could not connect: ' . mysqli_error());

}

echo 'Connected successfully';

mysqli_close($link);

?>
WordPressのデータベース接続エラーを解決する5つの対処法

「username」「password」の部分は、ご自身のデータベースユーザーアカウントの情報に置き換えてください。ユーザー名やパスワードがわからない場合は、cPanelのデータベースセクションで確認できます。自分でデータベースを作成・設定したのであれば、覚えている可能性が高いでしょう。

もし「Connected successfully」ではなくエラーメッセージが表示された場合は、入力したユーザー名とパスワードが正しいかを再度確認してください。

別の方法として、全権限を持つ新しいデータベースユーザーを作成し、そのアカウントで接続を試すのも有効です。新しいユーザーで上記のテストが成功したら、wp-config.php内のユーザー名とパスワードを新しく作成したアカウントのものに書き換えます。

対処法3:データベースを修復する(破損が疑われる場合)

ここまでの手順でも解決しない場合は、データベースそのものが破損している可能性があります。幸い、WordPressにはデータベース修復モードが標準で搭載されており、wp-config.phpに1行追加するだけで利用できます。

  1. wp-config.phpに以下の1行を追加して保存します。
    define('WP_ALLOW_REPAIR', true);
  2. その後、ブラウザで次のURLにアクセスして修復モードを起動します。
    https://yourdomain.com/wp-admin/maint/repair.php
  3. 「yourdomain.com」の部分はご自身のドメイン名に置き換えてください。
  4. ページが開いたら、「Repair Database(データベースを修復する)」ボタンをクリックします。WordPressのデータベース接続エラーを解決する5つの対処法

修復処理には多少時間がかかりますが、完了後はエラーが解消されているかどうかを確認しましょう。なお、作業が終わったらセキュリティ上の観点から、WP_ALLOW_REPAIRの行は忘れずに削除しておくことをおすすめします。

対処法4:phpMyAdminでSQLクエリを実行する

cPanelのphpMyAdmin(データベースをブラウザ上で管理できるツール)で以下のSQLクエリを実行することで、エラーが解消したという報告もあります。

UPDATE wp_options SET option_value='YOUR_SITE_URL' WHERE option_name='siteurl'

「YOUR_SITE_URL」の部分はご自身のサイトURLに置き換えて実行してください。実行後にエラーが解消されているかを確認します。

対処法5:WordPressコアファイルを再インストールする(サイトには影響しません)

上記のすべての方法を試しても改善しない場合は、WordPress本体のコアファイルを再インストールしてみましょう。投稿や固定ページなどのコンテンツはデータベースに保存されているため、この作業でサイトの内容が消えることはありません。

  1. WordPress.orgにアクセスし、最新版のWordPressのzipファイルをダウンロードします。
  2. FileZillaなどでWebサーバーに接続し、WordPressのインストールディレクトリを開きます。
  3. ダウンロードしたzipファイルをそのディレクトリにアップロードし、コアファイルを上書きする形で展開します(サブディレクトリを作らないよう注意)。なお、「wp-content」フォルダにはテーマ・プラグイン・メディアが含まれているため、削除したり上書きしたりしないでください。WordPressのデータベース接続エラーを解決する5つの対処法
  4. zipファイルの展開は、FileZilla経由でも、多くのサーバーが対応しているcPanelのファイルマネージャーからでも可能です。
  5. 以上で完了です。再度サイトにアクセスし、エラーが解消されているかを確認しましょう。
  1. Windowsでエラー734(PPPリンク制御プロトコル終了)を修正する方法

    Windowsで表示されるエラー734は、PCのネットワーク接続設定が正しく機能していないことで発生するトラブルです。原因としては、ネットワークのパスワードやセキュリティ設定に不具合があるケースと、コンピュータ自体がネットワークへ正常に接続できていないケースの2つが考えられます。このエラーが出ている場合、必要なリモートネットワークへのダイヤルアップ接続が確立できない状態になっています。 エラー734は、通常以下のような形式で表示されます。 エラー 734:PPP リンク制御プロトコルが終了しました。 エラー734の主な原因 このエラーの原因は、主に次の2つです。 シングルリンク接続に対

  2. Windows 10 で Microsoft Store の接続エラー(0x80072EE7)を解決する方法

    Microsoft Storeは、Windows 10でアプリやゲームをダウンロード・更新するための公式マーケットプレイスです。定期的なアップデートにより新機能や改善が追加されますが、お気に入りのゲームをダウンロードしたり既存のアプリを更新しようとした際に、Microsoft Storeが接続できず、エラーコード0x80072EE7「サーバーで問題が発生しました(the server has stumbled)」というエラーが表示されることがあります。 この問題の原因はさまざまで、インターネット接続の不具合、プロキシやファイアウォールによる接続ブロック、ストアデータベースの破損、Windows