ブログの編集をしていたら、いきなりアクセスできなくなりました。
どうもレンタルサーバの一時的なエラーで、1時間ほど待つと無事に復旧されました。
![[mixhost] 自分のサイトにアクセスできない【データベース接続確立エラー】](https://chiilabo.com/wp-content/uploads/2020/09/instructor-m.png.webp)
はじめてのことでびっくりしましたので、その顛末を記録しておきます。
1. Error establishing a database connectionとは?
自分のサイトにアクセスしたら、こんなメッセージが表示されました(2020-09-26 17:33)。

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ファイルのユーザー名とパスワードの情報が正しくないか、ローカルホストのデータベースサーバーに接続できないことを意味します。 これは、ホストのデータベースサーバーがダウンしていることを意味している可能性があります。
ちなみに、外部に見えるページではエラーメッセージはもっと短かったです。

ただこれだけです。

このように表示されるサイトもあります。
1-1. データベース接続確立エラーの影響と要因
WordPressの文章データはMySQLのデータベースに保管されています。そのデータベースへの接続がうまくいかないと、ブログは表示できません。
エラーメッセージでは、3つの可能性が示されています。
(1)(2)はWordPressの設定の誤りによるもので、WordPressのアップグレードやプラグインの追加によって、起こることがあります。
その場合は、ftpサーバーにアクセスして、直接設定ファイルを修正する必要があります。

サイトの引っ越しなどでも起こるんですね。あるいはハッキング……怖いですね。
(3)はレンタルサーバー自体のトラブルによるケースで、これは障害復旧を待つしかありません。
2. まずはバックアップ
いずれにしても、まずは現状をバックアップをしてから、以前のバックアップに戻してみる、というのが定石です。
そうすれば、(1)(2)であれば修復できますし、その状態の設定を適用すれば完全に戻せることになります。
システムはプラグインを導入したり、アップデートをしたりすると、調子が悪くなることはままあります。この作業は慣れてしまいますね。
2-1. mixhostのcPanelにログインする
このサイトは mixhost というレンタルサーバーを利用しています。
まずは mixhostの cPanelという管理画面にアクセスします。
ここに mixhostのユーザー名とパスワードを入力します。

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

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

どうも、サイトの WordPressの設定の問題ではなさそうです
2-2. 現状をバックアップをしようとすると進まない
まずはバックアップをしようとするのですが、作業が全然終わりません。

「データベースのバックアップ」のところから進みません。
ちなみに、この画面ではついでに WordPressを新たにインストールを試しています。
これも、「データベースの伝搬」で止まってしまいました。
いよいよデータベースが怪しいです。

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

cPanelの項目から、データベースの状況を確認するために、「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自体でもエラーメッセージが出てきます。

次のエラーのため、API要求が失敗しました:503 – サービスは利用できません。
ということで、サーバー自体の動作が怪しくなってきました。
障害情報をざっとみたところ、まだ報告はありません。

全てのシステムが稼働中(Operational)と書かれています。
そこで、管理会社に障害報告をして、様子を見ることにしました。

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


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

おそらく復旧作業をしているのでしょう
3. 障害発生のメールが来ました
はじめにアクセスエラーに気づいてから約1時間後、18:35に障害発生のメールが来ました。

調査中ということなので、あとはできることはありません。待つだけです。
3-1. サーバーエラーなのにアクセス数があるのはなぜ?
ところが、Googleアナリティクスのアクセス数をみると、サーバーがダウンしているのにも関わらず、リアルタイムのアクセスがあるようです。
せっかくの機会なので、サーバーがダウンしている時に、検索結果からどう見えるのか、アクセスするとどう表示されるか確認してみました。

ブックマークからアクセスすると接続できないのに、Google検索からアクセスするとウェブページが表示されました。
3-2. GoogleがAMPサイトをキャッシュしている
よくURLアドレスを見てみると、「google.com/amp/s/chiilabo…」となっています。
これは、GoogleのサーバーにあるAMPキャッシュです。
一時的にサーバーがダウンしても、キャッシュがある間はちゃんと検索結果は表示されるんですね。
4. わずか1時間ほどで復旧しました
そうこうしていると、19:22にメールが届きました。わずか1時間ほどで復旧されたことになります。すごい!

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

ちなみにTwitterで「サーバーエラー」で検索したら、いろんなゲームなどでもありました。いつも何かしらあるんですね。
サーバー・エンジニアの方々には感謝です。
ご参考になれば。