【WordPress】データベース接続確立エラーの対処方法。


Wordpress

Wordpressデータベース接続確立エラー_eyecatch

WordPressで「データベース接続確立エラー」が出る時の原因と対処方法です。

エラーの原因は”サイトで使用するデータベースとの接続に問題があり、接続が確立できない”というそのままの内容ですが、原因は複数あります。

WordPressサイトでは原因のほとんどが「wp-config.php」の記述ミスですが、稀にサーバーが原因で一時的にエラーが出ているだけの可能性もあります。

この記事では解決する可能性が高い順に対処法をご案内します。

データベース接続確立エラーの原因と対処法

Wordpressデータベース接続確立エラー_001

WordPressのデータベース接続確立エラー画面

WordPressでデータベース接続確立エラーが起こる主な原因は以下です。

  • データベースへの接続情報が間違っている。
  • データベースがそのものが破損している。
  • レンタルサーバーがダウンしている。
  • サイトがハッキングされている。

一見難しそうですが、簡単に治る可能性も高いので落ち着いて対処しましょう。

WordPressはサーバー上の公開フォルダ内にあるデータの他に、MySQL(MariaDB)と呼ばれるデータベース内にもデータを保存しています。
このデータベースにアクセスできない場合にこの接続確立エラーが発生します。

上記のような原因の場合、具体的な対処方法は以下です。

  • データベースへの接続情報(wp-config.php)を確認する。
  • データベースが破損している場合は修復する。
  • サーバー会社のサーバー障害情報を確認する
  • ハッキングの可能性がある場合、バックアップで修復する。

中でもダントツで多い原因が「wp-config.php」の設定ミスです。
特にサイトの引っ越しなどでデータベース情報が変わっていると接続に失敗します。

では順番に確認していきましょう・w・

WordPressとデータベースについて

お急ぎかと思いますが、まず予備知識としてデータベースについてサクッと…

WordPressはデータベースなしでは動きませんので、1度でもサイトが正常に動作したことがある場合はWordpress用のデータベースは既に作成されているはずです。

データベースは本来SQLコマンドを使用して作成するものですが、「phpMyAdmin」というソフトが出来てからは視覚的にデータベースを操作できるようになりました。

さらに最近のレンタルサーバー会社ではWorpdressのインストール時にデータベースを自動的に作成する機能(Wordpress簡単インストール)を提供しており、ますますデータベースという存在を意識せずにサイト運営ができるようになってきています。

ですので知らずともデータベースが作成、使用されています。
(FTPソフトでアクセスできる場所はデータベースではありません。)

WordPressの場合は「wp-config.php」というファイル内にWordpressで使用するデータベースへの接続情報を記述することで接続設定するようになっています。

まずこちらのファイルにミスがないかチェックしましょう。

データベース接続情報(wp-config.php)の確認

データベースの接続先情報が書かれている「wp-config.php」を確認します。

FTPソフトやレンタルサーバー会社が提供するファイル管理ツールなどでサーバー上のファイルにアクセス、wp-config.phpを見つけて下さい。

Wordpress-データベース接続確立エラー_002

wp-contentフォルダと同じ階層にある

wp-config.phpはwp-adminやwp-content、wp-includesフォルダがある場所と同じ階層にあります。

続いてwp-config.phpを開きます。

Wordpress-データベース接続確立エラー_003

wp-config.phpのMySQL設定を確認する

開いたら画像を参考にデータベース情報を確認します。
確認すべきコードの中身は以下の部分です。関数の第二引数を見ます。

 wp-config.php
/** WordPress のためのデータベース名 */
define( 'DB_NAME', 'ここがデータベース名' );
/** MySQL データベースのユーザー名 */
define( 'DB_USER', 'ここがデータベースのユーザー名' );
/** MySQL データベースのパスワード */
define( 'DB_PASSWORD', 'ここがデータベースのパスワード' );
/** MySQL のホスト名 */
define( 'DB_HOST', 'ホスト名はlocalhostが多い' );

ポイント

wp-config.phpと使用するデータベースの
・データベース名
・データベースユーザー名
・データベースパスワード
・データベースホスト名
の4つが同じであればOKです。

ホスト名については殆どの方がlocalhostのはず…

Wordpress-データベース接続確立エラー_004

WordPressのインストール画面

WordPressを手動でインストールした人はこの画面に打ち込んだ内容と合致するものを「wp-config.php」に記述します。

WordPress簡単インストールを使用した方の場合はここからが難儀です…
というのも、データベース名もデータベースユーザー名も、データベースパスワードも簡単インストールの時点で勝手に自動で決められているからです。

ややこしいので各項目の確認方法を全て書きます!

データベース名の確認

データベースをphpMyadminで手動作成した人は下の画面を見たことがあるはず…

Wordpress-データベース接続確立エラー_005

phpMyAdminでのデータベース作成画面例

データベース名はここで作成したWordpress用のデータベースの名前を入力します。

続いて簡単インストールを使ってWordpressをインストールし、自動でデータベースを作成した場合ですが、データベース名はphpMyAdminから参照できます。

まずレンタルサーバー会社の管理画面などからphpMyAdminにログインして下さい。
MixhostなどcPanelを採用している所はcPanelからログインできます。

Wordpress-データベース接続確立エラー_006

phpMyAdminのデータベース一覧

phpMyAdminに無事にログイン出来たら画面左側のデータベース名を確認します。

information_schemaは始めからあるデータベースなので関係ないです。
多くの方の場合は残るもう1つのデータベースがWordpress用のデータベースです。

Wordpress-データベース接続確立エラー_007

データベース名>○○_optionsの中身を確認

データベースが複数ある場合は、更にデータベース名をクリックしてテーブルを一覧表示し、その中から「○○_options」というテーブルを開いて確認します。
「○○_options」の中にサイトURLやサイト名が入っていればそのデータベース名で確定です・w・

ここで確認したデータベース名をwp-config.phpのデータベース名に書けばOK!

DBユーザー名・DBパスワードの確認

「データベースのユーザー名」および「データベースのパスワード」はデータベースの作成時に決められます。レンタルサーバー会社にもよりますが、両方ともランダムに適用されていることが多々あります。

そしてユーザー名とパスワードの確認方法なのですが、先述の「wp-config.php」を開いて確認する方法が有名です。

データベースのユーザー名やパスワードはサーバーの契約時のメールに載っておらず、データベース名のように誰もが参照できる方法はなさそうです。(多分…)

レンタルサーバー会社によっては確認する画面があるかもしれません。
cPanelが使えるなら「MySQLデータベース」から参照や変更が可能です。
どうしても分からない時はサーバー会社に問い合わせてみても良いかも…

データベースが破損している場合の対処法

wp-config.phpの内容に間違いがないのにデータベース接続確立エラーが出る時は、データベースが破損していないかチェックしましょう。

まずレンタルサーバー会社の管理画面などからphpMyAdminにログインします。

続いてWordpressで使用するデータベース名をクリックし、テーブルを開きます。
そしてテーブルの照合順序をチェックします。

Wordpress-データベース接続確立エラー_008

テーブルが使用中になっていれば破損の可能性大

ここが「使用中」ならデータベースが破損している可能性が高いです。
正常な場合は「utf8mb4_unicode_ci」などと照合順が表示されます。

phpMyAdminでテーブルを修復する

データベースが破損している場合はphpMyAdminでテーブルの修復作業が行えます。

手順は以下です。

  1. データベース内の全テーブルをチェック
  2. 「チェックしたものを:」のプルダウンをクリック
  3. プルダウンから「テーブルを修復する」を選ぶ
  4. 実行をクリック

これでテーブルのリペアが実行できます。
Wordpressにも同じ機能がありますがphpMyAdminから実行する方が簡単なのでここでは割愛します。

Wordpress-データベース接続確立エラー_009

phpMyAdminでのテーブル修復

そもそも最近のレンタルサーバーでデータベースが破損すること自体あまりないのですが、プラグインの導入で破損した場合はこの修復が効くかもしれません。

レンタルサーバーの障害情報を確認する

稀にレンタルサーバー側の問題で自サイトに「データベース接続確立エラー」が出ることもあります。

今まで問題がなかったサイトで急にデータベース接続確立エラーが出た時はレンタルサーバー会社の障害情報ページを確認し、自分が借りているサーバーがダウンしていないかチェックしましょう。

一時的なものですぐに解決することがほとんどですが、タイミングによっては自分がアクセスした瞬間に発生していることも…

対処方法は言うまでもなく待つしかありません。

ハッキングの可能性も考えられる

データベース接続確立エラーはここまでの内容で大体解決できます。

どうやっても治らない時はハッキングを疑うべきかもしれません…
Wordpressは人気CMSですのでハッカーの的ではあります。特にセキュリティー関係の設定を強化していないなら疑いましょう。

ちょうど先日、有名プラグインの「All in One SEO」でセキュリティーの貧弱性が報告されたところで、複数のサイトでデータの改ざんがあったようです。

FTPソフトでサーバー上のファイルを見た時に見た覚えがない怪しいファイルが入っているとハッキングかもしれません。

サーバー上のファイルをハッカーに改ざんされてしまうと、ちょっとやそっとの修復作業では治りません。治ったとしてもバックドアを仕掛けられている可能性があるので、この場合はバックアップからサイト丸ごと修復する必要があります。
直近で正常にサイトが動作していた時のものを使ってみましょう。

最近のレンタルサーバー会社は自動でバックアップを取ってくれている所も多いので必要なら早めにダウンロードしておきましょう。

まとめ

WordPressでデータベース接続確立エラーが出てしまった時の対処方法でした。

ほとんどのサイトではwp-config.phpの記述ミスやデータベースの作成ミスが原因ですが、中にはデータベースの破損やハッキングによって接続確立エラーが発生していることもあるかもしれません。

データベースの問題という事で少し専門的な内容かもしれませんが、今は比較的簡単に対処できる時代なのかも…

皆さんのサイトが無事に復活したなら幸いです。
ではではこのへんで・w・

-Wordpress

ありがとうございました。
良かったらシェアしてネ・w・

© 2022 ソロ学