[mixhost] 自分のサイトにアクセスできない【データベース接続確立エラー】

スポンサーリンク

ブログの編集をしていたら、いきなりアクセスできなくなりました。

はじめてのことでびっくりしましたので、その顛末を記録しておきます。

スポンサーリンク

Error establishing a database connectionとは?

自分のサイトにアクセスしたら、こんなメッセージが表示されました(2020-09-26 17:33)。

Error establishing a database connection

Error establishing a database connection

This either means that the username and password information in your wp-config.php file is incorrect or we can’t contact the database server at localhost. This could mean your host’s database server is down.

WordPressの管理画面へのログインページがこんな表示になってしまいました。

自分のホームページがこんな表示になってしまうと、ヒヤヒヤです。

日本語にすると

データベース接続の確立中にエラーが発生しました

これは、wp-config.phpファイルのユーザー名とパスワードの情報が正しくないか、ローカルホストのデータベースサーバーに接続できないことを意味します。 これは、ホストのデータベースサーバーがダウンしていることを意味している可能性があります。

ちなみに、外部に見えるページではエラーメッセージはもっと短かったです。

Error establishing a database connection

ただこれだけです。

データベース接続確立エラーの表示

このように表示されるサイトもあります。

データベース接続確立エラーの影響と要因

WordPressの文章データはMySQLのデータベースに保管されています。そのデータベースへの接続がうまくいかないと、ブログは表示できません。

エラーメッセージでは、3つの可能性が示されています。

データベース接続エラーの考えられる要因
  1. 設定されているデータベースのIDとパスワードが間違えている
  2. 接続するデータベースのhostnameを間違えている
  3. データベースサーバーがダウンしている

(1)(2)はWordPressの設定の誤りによるもので、WordPressのアップグレードやプラグインの追加によって、起こることがあります。

その場合は、ftpサーバーにアクセスして、直接設定ファイルを修正する必要があります。

サイトの引っ越しなどでも起こるんですね。あるいはハッキング……怖いですね。

(3)はレンタルサーバー自体のトラブルによるケースで、これは障害復旧を待つしかありません。

まずはバックアップ

いずれにしても、まずは現状をバックアップをしてから、以前のバックアップに戻してみる、というのが定石です。

そうすれば、(1)(2)であれば修復できますし、その状態の設定を適用すれば完全に戻せることになります。

システムはプラグインを導入したり、アップデートをしたりすると、調子が悪くなることはままあります。この作業は慣れてしまいますね。

エラー対処の定石
  • これ以上悪化しないように、現状をバックアップする
  • 正常に動いていたとききバックアップに戻す
  • 何が変わっているのか比較する

mixhostのcPanelにログインする

このサイトはmixhostというレンタルサーバーを利用しています。

まずはmixhostのcPanelという管理画面にアクセスします。

ここにmixhostのユーザー名とパスワードを入力します。

mixhostのログイン画面cPanel

ちなみに、ログイン画面のURLから、どのクラウドサーバーを利用しているのかわかります。

クラウドサーバーの番号

ログインをして、自分のサーバーにある他のテスト用のWordPressにアクセスすると、同様のエラーメッセージが出ていました。

どうも、サイトのWordPressの設定の問題ではなさそうです

現状をバックアップをしようとすると進まない

まずはバックアップをしようとするのですが、作業が全然終わりません。

WordPressのバックアップやインストールが進まない

「データベースのバックアップ」のところから進みません。

ちなみに、この画面ではついでにWordPressを新たにインストールを試しています。これも、「データベースの伝搬」で止まってしまいました。

いよいよデータベースが怪しいです。

もし完全にデータベースが動かなければ、バックアップする前の作業は消えてしまいます。それは悲しい。

MySQLデータベースにアクセスできない

MySQLデータベースのボタン

cPanelの項目から、データベースの状況を確認するために、「MySQLデータベース」をクリックするのですが、ここでもグルグルまわるだけでつながりません。

何度かアクセスすると、表示されました。

MySQLデータベースのエラー

・The MySQL server is currently offline.
・The server is too busy to handle your request. Please wait a few minutes and try again.

MySQLサーバーが「オフライン」か「過負荷」になっていることがわかります。

そうこうしていると、cPanel自体でもエラーメッセージが出てきます。

mixhost Control Panelに表示される赤いエラーメッセージ

次のエラーのため、API要求が失敗しました:503 – サービスは利用できません。

ということで、サーバー自体の動作が怪しくなってきました。

障害情報をざっとみたところ、まだ報告はありません。

mixhostの障害報告ページ

全てのシステムが稼働中(Operational)と書かれています。

そこで、管理会社に障害報告をして、様子を見ることにしました。

障害報告リクエストの送信

ついには、一時的にアクセスできなくなってしまいました。

cPanelのネットワークエラー画面
cPanelのInternal Server Error画面

レンタルサーバーのログイン画面まで、「内部サーバーエラー」の表示になってしまいました。

おそらく復旧作業をしているのでしょう

障害発生のメールが来ました

はじめにアクセスエラーに気づいてから約1時間後、18:35に障害発生のメールが来ました。

調査中ということなので、あとはできることはありません。待つだけです。

サーバーエラーなのにアクセス数があるのはなぜ?

ところが、Googleアナリティクスのアクセス数をみると、サーバーがダウンしているのにも関わらず、リアルタイムのアクセスがあるようです。

せっかくの機会なので、サーバーがダウンしている時に、検索結果からどう見えるのか、アクセスするとどう表示されるか確認してみました。

ブックマークからアクセスすると接続できないのに、Google検索からアクセスするとウェブページが表示されました。

GoogleがAMPサイトをキャッシュしている

よくURLアドレスを見てみると、「google.com/amp/s/chiilabo…」となっています。

これは、GoogleのサーバーにあるAMPキャッシュです。

一時的にサーバーがダウンしても、キャッシュがある間はちゃんと検索結果は表示されるんですね。

わずか1時間ほどで復旧しました

そうこうしていると、19:22にメールが届きました。わずか1時間ほどで復旧されたことになります。すごい!

ということで、はじめてリアルタイムでサーバーダウンに遭遇したので、びっくりしましたが、無事に直ってホッと一安心です。

ちなみにTwitterで「サーバーエラー」で検索したら、いろんなゲームなどでもありました。いつも何かしらあるんですね。

サーバー・エンジニアの方々には感謝です。

ご参考になれば。

こちらもどうぞ

タイトルとURLをコピーしました