mysqlのバージョンアップが原因 「データベース接続確立エラー」 colorfulbox

はてな?

 先日、レンタルサーバーのカラフルボックスで運営する私のホームページが全て表示されないという事象が発生しました。その際に表示されたメッセージは、白い画面に太字で「データベース接続確立エラー」のみです。データベースといえば、WordPressの記事データを記憶している倉庫。そこにアクセスできないとなれば一大事です。しかも、自分でホームページ更新中に管理ファイルをいじってそうなったというのなら原因も特定できそうですので焦りもしないのですが、今回は直前まで何も問題なく表示できていましたし、その後は他の仕事をしていましたので一切更新作業は行っていません。そう、今回は突如そうなったのです。

ブラウザを変えてみても

 私は普段、chromeを使っています。ブラウザによって表示のされ方が異なることもありますので、念のためInternet ExplorerやMicrosoft Edgeでも試してみました。まぁ、やはり表示はされません。ちょっと期待しましたが、ブラウザの問題ではなく、サイトの問題のようです。

ハッキング?自動更新?

 そうなると、アクシデントの原因はサーバーの問題か、第三者による意図的な改ざんということになります。サーバーのダウン…それならまぁ時間の問題なのですが。怖いのはやはり不正アクセス…。

FTPソフトのFileZillaではアクセスが可能

 そこでFTPソフトのFileZillaを起動してチェックすると、まずサーバーにあるファイルには問題なくアクセスすることができました。つまり、サーバーがダウンしているわけではないのです。でも、ホームページは相変わらずアクセスできません。そこで、もう少し細かいところまでチェックしていくと、接続ができなくなる20分前に、.htaccessファイルが更新されていることに気付きました。それどころか、全てのサイトデータのフォルダの更新日時も同時刻になっているものがあります。ホームページを10年以上更新していますが、このようなことに気付いたのは初めてです。自動更新に失敗したのか、何者かによって不正に改ざんされたのか・・・。身に覚えのない更新に不安を覚えます。

ファイルの内容をチェック

 では、どのように更新されてしまったのしょうか。何か、変に上書きでもされてしまったのでしょうか。念のため.htaccessの内容やwp-config.phpの内容をチェックして、何が変更したのか確かめてみました。でも、直前のバックアップをとっていたわけではないので内容を見ただけでは何が何だかわかりません。ただ、文字化けしているわけでもなく、変に改ざんされている様子はないのです。この時点では何がおかしいのかはわかりませんでした。

 ホームページのデータはある。ファイル自体にはアクセスできる。

ということは、サーバーはダウンしていない。一見異常がないのにサイトが正常に機能しない。では原因はどこにあるのだろう。

バックアップの復元

 colorfulboxはバックアップが充実しているので、サイトを「2日前」に復元しようと試みてみました。.htaccessの内容やwp-config.phpの内容が更新される前に戻せば正常にアクセスできるようになるのではないかと思ったのです。これで解決…と思ったのですがここで再びアクシデント。『データベースにアクセスする権限がない』と表示されます。さらに、サイト管理者に連絡してください…というようなメッセージがでます。私がサイト管理者ですからパスワードなどもわかっています。いやぁ、問題はどこに???この時点ではバックアップ不能です。

新しいWordPressサイトを開設できない

 ふと、新しくサイトを立ち上げようとしたらどうなるのか試してみました。既存のサイトは改ざんされたとしても、新規サイトは立ち上げられるはずです。結果は、新規サイト立ち上げに失敗。そうなってくると、.htaccessの内容やwp-config.php云々ではなく、他に問題がありそうだということになってきます。

 新規サイトも立ち上げられない。既存のサイトのみの問題ではない。

ということは、既存のサイトの一部が改ざんされたというような話ではなく、データベースの機能がおかしくなっているのではないかと考えました。

phpMyAdminにアクセスできない

データベースをバックアップしようと試みると・・・

 ならば、データベースはどうなっているのかと思いphpMyAdminにアクセスを試みてみました。すると、いつも開けるphpMyAdminが起動しないではありませんか。さて、この現象をどう考えるか・・・。

mysql (10.2.28 MariaDB)がダウン中

 そして、いよいよ原因にたどり着きます。サーバー情報を確認すると、データベースに関係するmysqlが△マークになっていてdownと書いてあります。他は全て正常になっていますので、明らかにおかしいですよね。そう、原因はmysqlだったのです。

10.2.28 MariaDBで検索すると、11月5日リリースの新バージョンということがわかると同時に、起動しないという問題が発生していることがわかりました。

アップグレード後、InnoDBテーブルが存在し、FULLTEXT INDEXそれにFOREIGN KEY制約が付加されている場合、MariaDBサーバーがクラッシュする可能性があります。起動時にクラッシュが発生するという報告がありましたが、後の段階でクラッシュする可能性もあります。詳細については、MDEV-20987を参照してください。

 どうやら、サーバーのデータベースシステムがバージョンアップしたものの、それがうまく機能していないということがわかりました。そうなると、もう自分ではどうにもできません。ただ、colorfulboxの他のサイトでも同じような障害が発生しているはずですが、ネット上ではまだ騒然としている気配はありませんでした。サーバーにも何も情報が上がっていませんでした。ただ、原因はMariaDBが 10.2.28にバージョンアップしたということに行きついたのです。もう、夜も遅いですし、まずは待ってみるということにしました。

サーバーの問題は、まずは時間をおいてみる。

 翌朝アクセスしてみると、ホームページにいつも通りアクセスできるようになりました。前日の夜、検証に使った時間を返して欲しいと思うのですが、サーバー側も事態を把握して対応するのに時間がかかったのでしょう。他の見方をすれば、colorfulboxは新しいバージョンに更新してメンテナンスも行っているということも言えますね。しかし、今回は、今までに経験したことがないようなタイプのトラブルだったので焦りました。

mysql (10.2.27 MariaDB)にダウングレード

 では、サーバー側でどのよう対応をしたのでしょう。改めてサーバー情報を確認したところ、バージョンがひとつ前に戻っていました。これで一旦解決ということですが、あわててサイトのデータを書き換えたり、バックアップを復元したりしなくてよかったです。やはり、こういう時は少し待ってみるということが大事なのかもしれませんね。

障害・メンテナンス情報

お客様 各位

平素はカラフルボックスをご利用いただき、誠にありがとうございます。

下記内容にて障害の発生を確認しています。

[ 日時 ]
2019年11月6日 21:00 ~

[ 症状 ]
データベース接続障害

[ 状態 ]
確認の上、対応中

ご迷惑をおかけし申し訳ございません。 以上、よろしくお願い申し上げます。

[2019/11/6 23:25] 対応が完了いたしました。
MariaDBの最新版にバグがあり、接続できない障害が発生いたしました。
バージョンを落とすことにより回復しております。
ご迷惑をおかけし申し訳ございませんでした。

日付 – 2019-11-06 21:30
最終更新 – 2019-11-06 23:28

 ということでした。同様の問題が発生した時は、焦らず待つことがよさそうですね。

mysql (10.2.29-MariaDB)にバージョンアップ

 さて、その後ですがcolorful Boxのサーバー情報を見ると10.2.28の次のバージョンに上がっていました。よかったです。そもそもですが、このMariaDB(マリアディービー)とは何でしょうか。調べてみると、「MySQL」から派生したオープンソースリレーショナルデータベースシステムということでした。「拡張性」「処理性能」「高品質」が評価され、世界中で急速にシェアを拡大しているそうです。これまでレンタルサーバーでは、主にオープンソースである MySQL(マイエスキューエル)がデータベースとして使われてきましたが、近年 MariaDB(マリアディービー)を採用するレンタルサーバーが増えつつあります。 colorful Boxもそのひとつです。

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