こんにちは
先日、自分のブログを開こうとしたら、見慣れないエラーメッセージが、
「Error establishing a database connection」

「データベースの接続を確認できません。」と言う事らしい。

初めて見るエラーメッセージにあたふたしました。
そこで、最近Xserverのファイルをチョコチョコ弄っていたことを思い出し、
それが原因かも?と考え、FTPソフト(FileZilla)で.htaccessやwp-config.php
ファイルを確認しおかしな所(記述ミスなど)がないか探しまくってみました。

しかし、いくら探しても記述に問題は無さそうだし、wp-config-sample
.phpと比較しても違いが見つかりません。
こうなったらエラーメッセージをググってみるしかありません。
で、見つけたヒントが、
- MySQLデータベースのログイン認証に誤りがある。
- データベース自体の破損または異常
- Xserver側の不具合
- 不正なアクセスによる
おおよそ以上のような原因が考えられるという事でした。
中でも多いのが①のログイン認証におけるパスワードの記述ミス
だそうです。
②、③、④はおじさんの手に負えそうもないので、とりあえず①を
やってみます。
先に結論だけ書いときます。
このエラーの原因はwp-config.phpファイルのMySQLホスト名が
間違っていたことでした。
wp-config.phpファイルの確認
データベースのログイン認証は、wp-config.phpファイル内の記述を
参照して行われます。
wp-config.phpファイルを開く
まずは、FTPソフト(ここではFileZilla)でwp-config.phpを探します。

*FileZillaについて詳しくはこちら↓を参照してください

FileZillaでサーバーに接続したら、対象のドメイン(Ksanhonsan.com)⇒
Public_htmlフォルダの中にwp-config.phpファイルがあります。
念のために、このwp-config.phpファイルを自分のパソコンのドライブの
適当な場所にドラッグアンドドロップします。

次に、エクスプローラーを開き、コピーしたphpファイルをエディタ
(ここではサクラエディタ)で確認します。
wp-config.phpファイルはwordpressの重要な構成ファイルです。
くれぐれも取り扱いは慎重に、サーバー上のファイルを直接開かずコピーを取る事。
またエディタにはメモ帳は使わず、サクラエディタなどのプログラミングエディタ
を使いましょう。

このwp-config.phpファイルの中の、「MySQL設定」にある
- データベース名
- ユーザー名
- パスワード
- ホスト名
をXserverのサーバーパネルの情報と照らし合わせてみます。
Xserverのサーバーパネルで確認
Xserverのサーバーパネルにログインしたら、「wordpress簡単インストール」
から「インストール済みwordpress一覧」を開きます。

すると、右側に対象ドメインのMySQL情報が表示されているのが分かります。
ここでMySQLのデータベース名・ユーザー名・パスワードをメモしておきます。
ホスト名はわかりません。

実はこの時点で、データベースがMySQLからMariaDBに
変わっていることに気づいてなかった。
ホスト名はサーバーパネルのMySQL設定で確認できるとGoogleさんに教わった
ので開いてみます。↓


おじさんは、この画面を見ても、データベースMySQLの情報は無い
、MySQLのホスト名が分からないと思い込んでました。
後で分かるんですが、この画面にきちんとホスト名も表示されていますね。
MariaDB10.5 ホスト名 localhost
と。
しかし、先のwp-config.phpを見てもMySQLホスト名のところに
mysq18****.xserver.jp

と記述されているので、サーバーパネルの中にMySQLホスト名(mysq***)がないか
必死で探しました。
でも結局見つけられません。

もうお手上げ状態。

当り前よ、無いんだから。

でも、phpファイル見てたらホスト名はMySQLのmysq***
だと思ってしまうよねぇ、皆さん。
サポートに聞いてみる
結局自力では解決できないと判断し、Xserverのサポートに電話しました。

あのぉ、エラーが出てブログが見れないんですけど。
ここで、今出ているエラーメッセージや直近で行った作業についてオペレーター
にできるだけ詳しく説明しました。

なるほどですね。それでは一度データベースの復元を
試してみて下さい。
言われたとおりにデータベースの復元を試みます。
Xserverのサーバーパネルからデータベース⇒MySQL復元とたどり、復元できる
データベースの一覧の中から対象のデータベース名の右にある復元ボタンを
恐る恐るクリックします。

しばらくすると、復元正常完了の案内が出るので、ブログを表示してみると、
何も変わっていない(゚Д゚;)
もうすでにPM6時過ぎなのでサポートには明日また連絡することに。
結局ホスト名が変わっていたのが原因
サポートに電話した後も、どうにかならないかと必死でググっていました。
そしてあることに気が付きます。
そう言えばXserverのサーバーパネルのMySQL設定画面のところに
データベースバージョン MariaDB10.5と書いてたなぁ。

バージョンがMariaDB10.5て何?データベースはMySQLじゃないの?
と疑問に思い、「MySQL MariaDB」でググってみると、

Xserverのこんなページを見つけました。
2021年3月からデータベースはMySQL5.7からMariaDB10.5に変わる、
新サーバー簡単以降というサービスも開始する。
と書かれています。

知らなかった!おまけにおじさんは先日新サーバーに移行してた。
と言うことは、データベースのホスト名は「localhost」に変わっているんだ。

やっと気づいたわね。
そこで、再度FileZillaからwp-config.phpを編集しなおしました。
MySQLホスト名を「mysq****.jp」から「localhost」に訂正。
そしてブログにアクセスしてみると、
見事復活\(^o^)/

はぁ、やれやれ安心感とともに達成感。
まとめ

しかし、新サーバー移行後しばらくしてこのエラーが出現したということは
おそらくですが、直近にwp-config.phpファイルを弄っている時に
何かの拍子におじさんが、
phpファイルを以前のものに書き換えてしまった。
ことが原因でしょう。
今回の一連のトラブルで改めて思いました。
- wordpressの構成ファイルはむやみに触らない。
- Xserverからの情報にも注意しておく
- サポートだけに頼らない。
と言うことです。
困ったときはサポートが頼りですけど、あなたが行ったこと全てを
把握できるわけではないと言うことも考えておいた方がいいです。
今回は以上です、
この記事がどなたかのお役に立てればうれしいです。
それでは
【Xserver】おすすめ度No.1サーバー
【Conoha Wing】おすすめ度No.1サーバー
【ロリポップ】おすすめ度No.2サーバー
【Mixhost】おすすめ度No.3サーバー
コメント