最近、管理サイトのセキュリティ対策として、重要なデータのログインIDとパスワードを1Passwordで管理し始めたんですが、その過程で1つ問題が発生してしまいました。
なぜか、サイトのすべてのページ(と管理画面)に「データベース接続確立エラー」という文字しか表示されないんです。
コードの入力ミスで画面が真っ白になったり、404エラーや500エラーが表示されたことはありましたが、このエラーが表示されたのは初めてだったので若干焦ってしまいました。。
原因
結論から言うと、このエラーは「wp-config.phpの設定」が原因です。
基本的に確認するのは以下の項目。
- WordPressのデータベース名
- MySQLのユーザー名
- MySQLのパスワード
- MySQLのホスト名
僕の場合は、
- サブサイトの「phpMyAdmin」のログイン情報がわからない
- この際だから、MySQLのパスワードを変更しよう
と、安易にパスワードを変更してしまった結果、wp-config.phpの設定が変更されてデータベースに接続できなかったようです。
また、レンタルサーバーが原因ということもあるようですが、ほとんどの場合、このwp-config.phpがエラーの原因なので真っ先に確認しましょう。
対処法
では、wp-config.phpが原因で発生したエラーの対処法をご紹介します。
まずは、
- レンタルサーバーのファイルマネージャー
- FTPソフト
のどちらかにログインし、「wp-config.php」のファイルを探します。
通常は、
- 自分のドメイン(当サイトの場合はfantastech.net)
- public_html
- wp-config.php
という順番です!
該当のファイルが見つかったら、ATOMなどのコードエディターで開きます。
後は、問題の項目の文字列を修正してファイルをアップロードすればOKです。
(FTPソフトは、変更と同時にアップロードされるはずです)
僕は、エックスサーバーの管理画面でMySQLのパスワードを変更したので、パスワードの「root」の部分を変更しただけで解決しました。
こんな感じですね。
/** WordPress のデータベース名 */
define('DB_NAME', 'wordpress');
/** MySQL のユーザー名 */
define('DB_USER', 'root');
/** MySQL のパスワード */
define('DB_PASSWORD', 'abcdefg');
ちなみに、「admin」や「root」などの文字列はセキュリティ上良くないので変更することをおすすめします。
MySQLのログインIDとパスワードを忘れても問題なし
念のためお伝えすると、MySQLのログインIDやパスワードを忘れてもまったく問題ありません。
今回のように、config.phpを見ればわかるからです。
例えば、僕のように複数のサイトを管理していて、すべてのMySQLのパスワードを変更しても、それぞれに専用のwp-config.phpがあるので適宜修正すればOKです。
まとめ
エラーが発生すると、心穏やかではないと思いますが、最初に心がけることは「慌てない」ことです。
- MySQLのパスワード忘れた
- エックスサーバーのログイン情報忘れた
- FTPソフトない
みたいな状況だったら面倒ですが。。笑
以上、ご参考までに!(`・ω・´)ゞ