ウェブマスターの皆さんであれば必ずや一度は遭遇した事が有る「データベース接続確立エラー」。突然サイトが真っ白になり、データベース接続確立エラー(error establishing a database connection)と表示されたときは焦ってしまう事も多々有るかと思います。
このページでは「データベース接続確立エラー」が何故起るのかとその対策を解説いたします。

chain-297842_640

データベース接続確立エラーとは?

簡単にご説明すると、ワードプレスが投稿や設定などのデータを保持しているmysqlというデータベースに最初に接続しようとしたときにそれができなかったことを出力しているものです。

データベース接続確立エラーの原因1 wp-confing.phpに適切なデータベース接続情報が記載されていない

この問題の原因としてよく有るのが、ワードプレスのトップディレクトリにあるwp-config.phpのデータベースの接続情報が正しく記載されていないという物です。
これまで動いていたのに、この問題が発生する場合も、例えばローカル環境からワードプレスを再アップロードしたときにwp-confing.phpにてローカルでの接続情報が記載されていてそれをサーバー側で上書きしてしまったりした場合にこのような状態になることもあります。wp-config.phpの下記の情報が正確に入力されているか確認しましょう。

/** WordPress のためのデータベース名 */
define('DB_NAME', 'database_name_here');
/** MySQL データベースのユーザー名 */
define('DB_USER', 'username_here');
/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'password_here');
/** MySQL のホスト名 */
define('DB_HOST', 'localhost');

特に、よく間違いやすいのが、MySQL のホスト名の部分です。日本のレンタルサーバではここを変えなければいけない事例の方が多く、localhostではつながらないことがあります。お使いのサーバー会社の MySQLのURLを今一度ご確認の上設定を記載されてください。

サーバーの設定でちゃんとデータベースにつながるかを確認するには下記の簡易コードをご利用いただくこともできます。
こちらのコードをコピペして、test.phpという名称にしサーバーにアップロードしてアクセスし、ファイルにブラウザからアクセスすることにより、ちゃんとmysqlに接続されるか確認します。

 <?php
$link = mysql_connect(' MySQL のホスト名', 'MySQL データベースのユーザー名', ' MySQL データベースのパスワード');
if (!$link) {
die('データベースにこの情報では接続できませんでした: ' . mysql_error());
}
echo 'ちゃんとデータベースに接続できるようです';
mysql_close($link);
?>

データベース接続確立エラーの原因2 wp-confing.phpがない

ワードプレスのインストールディレクトリにwp-confing.phpというファイルがあるかどうか確認します。ワードプレスのインストール時には必ず生成されているファイルですので、ワードプレスはこのファイルがないとデータベースへの接続ができなくなってしまいます。
wp config.php wordpress filezilla   Google 検索

wp-confing.phpの作り方がお分かりにならない場合は下記を参照されてください。

参考記事 ワードプレス(WordPress) 5分間インストール

データベース接続確立エラーの原因3 wp-config.phpのパーミッションが不正

ワードプレスがwp-config.phpのファイルを読み込んでデータベースに接続する際に、アクセス権限がなくはじかれてしまっている可能性もございます。この場合はwp-confing.phpのパーミッション設定を確認して、適切(読み込み可)に設定する必要がございます。wp-confing.phpのパーミッションは444が適切です。

file-ugvajGY0I9

データベース接続確立エラーの原因4 wp-config.phpにエラーが発生している

wp-config.phpに何らかの修正を加えて、その修正がPHPのプログラムのミスや、矛盾を含んでいるときにwp-config.php自体が機能しなくなり「データベース接続確立エラー」が発生することがあります。
この場合、wp-config.phpの実行エラーを下記のようなサイトで調べることができます。

https://phpcodechecker.com/
何らかのエラーが起こっている場合は、そのエラーを修正し、wp-config.phpを再度アップロードします。

PHP Code Checker   Syntax Check for Common PHP Mistakes

データベース接続確立エラーの原因5 wp-confing.phpの文字コードが不正

wp-confing.phpの文字コードがUTF8(Bom無し)になっているかも確認されてください。この文字コードでない場合ワードプレスが適切なデータベース接続設定を読み込めなくなっていることがございます。

データベース接続確立エラーの原因6 mysqlが落ちている

上記のwp-config.phpが正しく設定されているのにこのエラーが出る場合は、データベースそのものが落ちているという原因も考えられます。この場合、サーバーのリブート(再起動)を行うのが一般的な対処方法です。レンタルサーバーをお使いの場合はサーバー会社のサーバーがメンテナンスをしていないか、または障害が起こっていないかなども確認します。

また、mysqlが落ちる程に過負荷になった原因は、ハッカーがブルートフォースアタックを仕掛けてきているからという可能性もありますので、攻撃対象となっていないか合わせてサーバーのログを確認します。

データベース接続確立エラーの原因7 データベースのデータが壊れている

mysqlに格納しているデータが、壊れていてこのエラーが表示される可能性もございます。ワードプレスのは自動でデータベースを復旧する機能がありますのでそちらを試してみます。(データベースのバックアップをお取りになってから実行されてください)
wp-config.phpに下記のコードを末端に記載します。

define('WP_ALLOW_REPAIR', true);

次に下記のURLにアクセスし、データベースを復旧します。

http://あなたのワードプレスサイトのURL/wp-admin/maint/repair.php

これでも復旧しなかった場合、mysqlのテーブルを一つ一つ復旧する方法がありますが、非常に専門的な内容となります。
よろしければWPドクターにご相談ください。

wordpress データベース接続確立エラーの解決はワードプレスドクターへご依頼ください。より詳しいサービス内容はこちらよりご覧下さい