解決~突然のデータベース接続確立エラー

数日前に突然”データベース接続確立エラー”が起こっていることに気づきました。原因はユーザー側ではなくレンタルサーバーとのことで、ようやく解決!
せっかくの機会なのでパーミッションの設定などサーバーなどの見直をしてみることに。ハッキングされても困りますからね。
データベース接続確立エラーなにそれ?
自分が管理しているWordPressサイトを眺めていたら突然 ”データベース接続確立エラー”が出てサイトが読み込めなくなりました。
”データベース接続確立エラー”といっても一時的なもので、ブラウザをリロードすると直りますが、またしばらくすると起こります。
アクセス解析を見てみると、特に9時過ぎからアクセス数が不安定になっており、コアアップデートの餌食になったのかとおもいましたよ((((;゚Д゚))))ガクガクブルブル。
データベース接続確立エラーの原因
調べてみると”データベース接続確立エラー”とは、サーバーとデーターベース(MySQL)の通信がうまく行ってない状態とのことで、主な原因として。
- レンタルサーバーがダウンしている
- データベースがそのものが破損している
- データベースへの接続情報が間違っている
- サイトがハッキングされている
などが考えられるそうです。
1に関してはサーバー会社に電話で問い合わせて見たのですがそのようなトラブルは起こってないとのこと。2に関してもすぐにリロードすれば直るので考えにくい、3に関しては何もやってね~し、4もまぁ考えられない。
で、やったことと言えばデーターベースのパスワードの再設定くらいなのですが、一瞬直ったかも??と思ったのですがその翌日にはまた”データベース接続確立エラー”を確認😰。
ロリポップには電話サポート以外にメールサポートもあるのですが、今回のような訳のわからない症状の時はメールサポートになります。
データベースが高負荷だった?
結局のところ”データベース接続確立エラー”の原因は、私が使用しているデータベースが高負荷の状態だったとのこと。
なんやそれ??
その高負荷が原因でデータベース接続が不安定になっていたとのことで、早速レンタルサーバー側で対策をしていただき事なきを得ましたε-(´∀`*)ホッ。
”データベース接続確立エラー”なんてはじめてのことだったのでめっちゃビビりましたが、とりあえずは大事に至ることなく一安心です。
今回のトラブルは私ではなくサーバー側でしたが、あらためてサーバーの設定(パーミション)なども見直しておきましょう(サイトが改ざんされても困りますしね)。
パーミッションとは
パーミッションとはファイルのアクセス権のことで、例えばこのファイルは全員が見ることのできるファイル、このファイルはオーナーのみが見られるファイルというように決めることが出来るのですが、あらためてロリポップ(サーバー)推奨の設定と、私の設定を比べてみると、間違いではないのだけど推奨ではなかった箇所がいくつかありましたのでこれを機会にすべて修正しました。
たとえば、/wp-config.phpのパーミッションは400、./wp-admin/install.phpのパーミッションは000という具合。
WordPress(ワードプレス)の設置 _ ホームページ・ブログ作成 _ マニュアル – ロリポップ!レンタルサーバー
※install.phpのパーミッションを000に変更するとWordPress側で『書き込み不能』のエラーが出ますが問題ありません(install.phpはWordPressのインストール時に使用するもので削除しても良いものだとか・・・)。
削除したら”致命的な問題”が消えました。
参考:
一部のファイルが WordPress から書き込みできません _ WordPress.org
また、.htaccessの推奨設定は604で、合っているものもありましたが違っていたものもあったので修正。
.htaccessが改ざんされるパターンは結構多いらしいので。
サイト改ざんへの対策をお願いいたします – ロリポップ!レンタルサーバー
ちなみに.htaccessは色々なところに設置できますが、例えばLuxeritasの高速化設定はルートに1箇所で良いのですね、いままでサイトが入ってる各フォルダーに全て書いていました(^^ゞ。
.htaccess によるブラウザキャッシュと Gzip 圧縮 – 高速化に関する取り組み _ Luxeritas Theme
うまく動作してるのかを確認するために、Analyse your HTTP response headersというサイトで計測してみたところ、1箇所しか入れなくても同一サーバーに入れている全てのサイトでA+を確認。
Wow, amazing grade! ってびっくりしてはりますわ。
以前はサイト毎にAとかA+とかバラツキがあったんですよね。てか、Luxeritasすげーな(°д°;;)
ちなみにLuxeritasの高速化設定を.htaccessに記述しないとこの点数。
Luxeritasって無料で使えるテーマですよ、すごいですよね。
まとめ
”データベース接続確立エラー”という見たことも聞いたこともないトラブルでまじでビビりましたが、結果いろいろな箇所を見直すことが出来てむしろ良かったです。
日々勉強。