WordPressの「データベース接続確率エラー」

2020年5月3日

突然のサイトダウン

先日、自身のブログを出勤途中で確認するとデータベース接続確立エラー
えー、こんなことある? って思いました。ひょっとして、乗っ取られたか???

不安になりながら、その日の仕事を終えて家に帰り状況を確認しました。
その時のすったもんだをブログに残したいと思います。

結論から言うと、原因は不明であるが、起動すればDBは動いたと言うこと。
結論になってませんね。
雰囲気は分かった感じなのですが、本当の原因までたどり着けていません。
雰囲気漢字もなかなか出てこない(笑)

手こずった原因

それでは、一連のすったもんだ

まず、「前提」と「しようとしたこと」です。
 「前提」
   ・「さくらインターネットのVPS(CentOS 6)でWordPress+MySQL」で構築した?
 「しようとしたこと」
   ・DBのステイタス確認
   ・ログ確認

でも、実は前提が違っていました。
  「さくらインターネットのVPS(CentOS 7)でWordPress+MariaDB」 でした。

すったもんだのプロセス

そして、すったもんだのはじまり。

WEBサーバーは動いているよな?

service httpd status

OK!

ぐぐって、DBのステイタス確認のためMySQLのコマンドで実行しようとしました。

mysql -u root -p
mysql-ctl start
mysql.server restart

そうすると当然、こんなん知りませんとのこと。当たり前ですね。

えー、おすすめのセキュリティー対策をすべて取ってるのに
乗っ取られたんかってビビりました。

次に確認したのが、MySQLのインストール状況の確認をしました。
MySQLがあるのかどうかです。

yum list installed | grep mysql
rpm -qa mysql

あれ、ない。

あれ、どんな構築したんだ?
自身のサイトに構築方法を記載したこと、URLを張っていたこともわすれて、ぐぐってたどり着けず
あほですねー

でも、欲しい情報がとれずにネットサーフィンしいると「CentOS 7」「MariaDB」がでてきた。
あら、CentOS 7にはMySQLからMariaDBになったとのこと。
ふと思い返す。構築当時、CentOS 6とCentOS 7のバージョンアップとか言ってたよな・・・

バージョン情報を確認

cat /etc/redhat-release

あれ、CentOS 7やん。
えー、そうやった?? となり、設計書の必要性を痛感する。(なんとなく勉強がてら適当に作っていてはだめですね)

でMariaDBでインストールしたかを再検索する。

yum list installed | grep mariadb
rpm -qa mariadb

でてきた!!
そこで、「MariaDB」をインストールしていたことを気付く

それではログを確認だ!

cat /var/log/mariadb/mariadb.log

なんのこっちゃわからんけど、03/30から、なんかメモリがどうたらで再起動しますってな感じのログがあるなー???わからん、とりあえず、起動や!!

systemctl start mariadb.service

あれ、動いたぞ!!
WEBサイトを確認してみよう!
あれ、見えるぞ!!

なんだったんだとなりました。

なにが起こってたのだ?

その後、実はどうだったのか等の確認のため色々、ぐぐりました。
ログをもう少し気合い入れて確認
ここから雰囲気

200330 16:43:45 DBがとまっているぞー
200330 16:43:47 DB再起動してやるぜ
200330 16:45:01 メモリがやばいからごちゃごちゃするで
200330 ・・・

200330 16:45:43 DBがとまっているぞー
200330 16:45:46 DB再起動してやるぜ
200330 16:46:03 メモリがやばいからごちゃごちゃするで
200330 16:46:22 DBがうごいたんちゃうかー

200331 00:28:40 DBがとまっているぞー
200331 00:28:51 DB再起動してやるぜ
200331 16:29:51 メモリがやばいからごちゃごちゃするで
200331 ・・・(おれにはできない・・)

この後に手動で起動したら、うまくいった と言うこと見たい
「メモリがどうこういっている」と思ったので、以下のコマンドを実行

top
df -h

結果的になにかが100%になっているわけでもなく、おかしな状況になっているように思えなかった。

最後に、どんな作業したんだっけ
history

せや、せや、「MariaDB」をインストールしてるわーー
ブログにも書いているわー
ほんま、あほだわー

ってことでこのブログになりました。
まあ、この様な小さな失敗を得て、成長するのですね。
PDCA!!

まとめ

今回、有益だったLinuxコマンド一覧をあげておきます。(自分のメモ)

yum list installed | grep mysql
rpm -qa mysql
top -d 120
df -h
history
cat /etc/redhat-release

だから、これを受けてどの様にするかは「あなた(わたし)次第」ってことで、こそこそします。 ちなみに、linuxを最新化しました。(自動化でないのか???) ここのセキュリティー感覚はあまいなー

ログ(参考)

ログを張っておきます。(やばい情報がログにないよなー ポートぐらいはかくしておこかな)

Version: ‘5.5.64-MariaDB’ socket: ‘/var/lib/mysql/mysql.sock’ port: **** MariaDB Server
200330 16:43:45 mysqld_safe Number of processes running now: 0
200330 16:43:47 mysqld_safe mysqld restarted
200330 16:44:56 [Note] /usr/libexec/mysqld (mysqld 5.5.64-MariaDB) starting as process 7444 …
200330 16:45:01 InnoDB: The InnoDB memory heap is disabled
200330 16:45:01 InnoDB: Mutexes and rw_locks use GCC atomic builtins
200330 16:45:01 InnoDB: Compressed tables use zlib 1.2.7
200330 16:45:01 InnoDB: Using Linux native AIO
200330 16:45:01 InnoDB: Initializing buffer pool, size = 128.0M
200330 16:45:01 InnoDB: Completed initialization of buffer pool
200330 16:45:03 InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
InnoDB: Restoring possible half-written data pages from the doublewrite buffer…
200330 16:45:19 InnoDB: Waiting for the background threads to start
200330 16:45:20 Percona XtraDB (http://www.percona.com) 5.5.61-MariaDB-38.13 started; log sequence number 239562332
200330 16:45:23 [Note] Plugin ‘FEEDBACK’ is disabled.
200330 16:45:29 [Note] Server socket created on IP: ‘0.0.0.0’.
200330 16:45:43 mysqld_safe Number of processes running now: 0
200330 16:45:46 mysqld_safe mysqld restarted
200330 16:46:03 InnoDB: The InnoDB memory heap is disabled
200330 16:46:03 InnoDB: Mutexes and rw_locks use GCC atomic builtins
200330 16:46:03 InnoDB: Compressed tables use zlib 1.2.7
200330 16:46:03 [Note] /usr/libexec/mysqld (mysqld 5.5.64-MariaDB) starting as process 7492 …
200330 16:46:03 InnoDB: Using Linux native AIO
200330 16:46:06 InnoDB: Initializing buffer pool, size = 128.0M
200330 16:46:06 InnoDB: Completed initialization of buffer pool
200330 16:46:07 InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
InnoDB: Restoring possible half-written data pages from the doublewrite buffer…
200330 16:46:21 InnoDB: Waiting for the background threads to start
200330 16:46:22 Percona XtraDB (http://www.percona.com) 5.5.61-MariaDB-38.13 started; log sequence number 239562332
200330 16:46:22 [Note] Plugin ‘FEEDBACK’ is disabled.
200330 16:46:22 [Note] Server socket created on IP: ‘0.0.0.0’.
200330 16:46:22 [Note] Event Scheduler: Loaded 0 events
200330 16:46:22 [Note] /usr/libexec/mysqld: ready for connections.
Version: ‘5.5.64-MariaDB’ socket: ‘/var/lib/mysql/mysql.sock’ port: **** MariaDB Server
200331 00:28:40 mysqld_safe Number of processes running now: 0
200331 00:28:51 mysqld_safe mysqld restarted
200331 0:29:48 [Note] /usr/libexec/mysqld (mysqld 5.5.64-MariaDB) starting as process 9165 …
200331 0:29:51 InnoDB: The InnoDB memory heap is disabled
200331 0:29:52 InnoDB: Mutexes and rw_locks use GCC atomic builtins
200331 0:29:52 InnoDB: Compressed tables use zlib 1.2.7
200331 0:29:52 InnoDB: Using Linux native AIO
200331 0:29:55 InnoDB: Initializing buffer pool, size = 128.0M
200331 0:29:55 InnoDB: Completed initialization of buffer pool
200331 00:29:58 mysqld_safe mysqld from pid file /var/run/mariadb/mariadb.pid ended