ある日自分のブログにアクセスしてみると突然このような画面が出てきて、データベース接続確立エラーと表示されていました。
自分が何かしたわけでもなく画面が真っ白な状態でパニックに陥り、wordpressのログイン→ダッシュボードのアドレスにアクセスしても下記のように
表示がされたまま、ブログの投稿も閲覧も出来ないし、原因もわからない状態だったのですぐさまGoogleにて同じ症状が出ている人がいないかを検索しました。
するとこの症状はWordpress特有のもので、データベースの中にあるwp-config.phpに問題があるということがわかりました。この場合どうすればいいのか対処法を調べ、実際に通常通りの画面に戻していくまでの過程を記しました。またブログのデータベースを格納しているサーバーよって対処法が違うみたいで、ここでは私が使っているmixhostに関しての情報中心になりますので参考にしていただければと思います。
ネット検索してわかった原因
Googleで「データベース確立エラー」で検索すると、同じ症状が出ている人のブログ・まとめサイトが沢山出てきました。その中において何故こうなってしまったのか、原因について調べると
・設定でユーザー名やパスワードを変えてしまった
・サーバー側でエラーが起きている
この2点が大半の原因となっていました。私の場合、後者のサーバーエラーについては自分が運営している他のブログは通常通り表示されているので該当するブログで設定を変えたかどうかを振り返ってみたのですが特に何もしていないよなあ・・・としか思えませんでした。しかし原因追求ばかりしても先には進めないので元に戻すための対処法について調べていきました。
すると大半のページでwordpressのデータベースの中にある「wp-config.php」というファイルに問題があり、ユーザー名やパスワードを正しい値にすれば戻ると書かれていました。
wp-config.phpファイルを確認
実際に自分のブログにおいてwp-config.phpがどうなっているかを調べました。その方法としてはレンタルサーバーとして利用しているmixhostのマイページからcpanelを起動し、ファイルマネージャー/該当ブログデータベースをクリック/wp-config.phpから右クリックでview画面を出し中身を確認しました。するとユーザー名、パスワードその他含め何も記していない初期状態になっていました。こういった症状はwordpressの更新時にwp-config.phpファイルが書きかえらるときにエラーが起きたみたいでどうやらリセットされた?のでしょうか、自分でもはっきりした原因というのがつかめませんでした。
新たにwp-config.phpファイルを作り直す
このままではどうしようもないので更にGoogleにて対処法を調べ、wp-config.phpをイチから作り直すことにしました。wp-config.phpファイルを新規作成する場合、自分のデータベースの中に「wp-config-sample.php」というのがありますのでそれをベースにして自分の情報を書き換えればOKです。
書き換える内容は自分のデータベース名、ユーザー名、パスワードはもちろんですが更に書き換える内容もありますので説明します。
上記の画像はwp-config-sample.phpの中身ですが、その中で青枠で囲まれているところをそれぞれ確認する必要があります。
青枠で囲まれた部分の一番上にデータベース名、ユーザー名、データベースのパスワードを入力する必要があります。これはcpanelにおいて、MySQLデータベースというところから、使用しているデータベース名と、ユーザー名を確認することが出来ます。
また、データベースのパスワードについてはユーザー名のところからパスワードを変更することによって新規に作成したパスワードを記述します。
次に2つ目の青枠の部分ですが、これは認証用のユニークキーでそれぞれのphpファイルで数値が違います。なので https://api.wordpress.org/secret-key/1.1/salt/ から新しいユニークキーを記述していきます。
そして最後の青枠ですが、データベーステーブルの接頭辞を記述します。
これらの記述が済めば、あとはFTPソフトを使ってwp-config.phpファイルをアップロードします。
FTPソフトはWindowsではフリーソフトのFFFTPが便利です。
そして、FFFTPのmixhostにおける設定についてはこちらに詳細があります。
アップロード後にもう一度自分のブログが表示されるかどうかを確かめてください。
無事に復帰することが出来た
上記の方法にてなんとかphpの設定を書き換え、アップロードした結果なんとか元に戻りました。画面が真っ白な状態になってから、Googleで調べて解決するまでに一日以上要してしまいました。自分の中では「もう駄目だ・・・」という気持ちが強かったのですが一つ一つ調べつつ解決していったので知識も身に付いたし、そして自分で解決することが出来たという自信にもつながったため次に何か起きてもちゃんと対処できるだろうと思います。その際にはまたこのブログにおいて報告・対処法も記して生きたいと思います。
再び同じ症状が発生! バックアップ用プラグインが原因だった
ブログの表示が元に戻って安心していたのですが、数日後にまたデータベース接続確立エラーの表示が出てアクセスが出来ない状態になってしまいました。なんでこうなるの?と嘆きながらもGoogleで調べていくと、どうやら最近発生している事例でWordpress用のバックアップに使われるDuplicatorというプラグインに脆弱性があって、それをインストールしたファイルを解してwp-config.phpファイルが書き換えられてしまうということでした。前回調べたときはこのプラグインが原因だったとは分からなかったのですが、自分が運営している他のブログは無事であり、今回発生していたブログのみDuplicatorを使っていたので、そういうことだったのか!と真相がつかめたので気分的に安心しました。こちらについての対処法は下記に記しているのでこのページと一緒にご活用いただければ幸いです。
コメント