質問: mysqli_query( $this->dbh, $query ); ``` error_logに出て来た内容 ``` [Tue Feb 19 20:40:09.197235 2019] [auth_digest:notice] [pid 1369] AH01757: generating secret for digest authentication ... [Tue Feb 19 20:40:09.198151 2019] [lbmethod_heartbeat:notice] [pid 1369] AH02282: No slotmem from mod_heartmonitor [Tue Feb 19 20:40:09.352513 2019] [mpm_prefork:notice] [pid 1369] AH00163: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.1.20 configured -- resuming normal operations [Tue Feb 19 20:40:09.352571 2019] [core:notice] [pid 1369] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND' [Tue Feb 19 20:58:11.618087 2019] [mpm_prefork:notice] [pid 1369] AH00170: caught SIGWINCH, shutting down gracefully [Tue Feb 19 21:00:06.554993 2019] [suexec:notice] [pid 917] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) [Tue Feb 19 21:01:27.270616 2019] [auth_digest:notice] [pid 917] AH01757: generating secret for digest authentication ... [Tue Feb 19 21:01:27.271686 2019] [lbmethod_heartbeat:notice] [pid 917] AH02282: No slotmem from mod_heartmonitor [Tue Feb 19 21:01:27.412179 2019] [mpm_prefork:notice] [pid 917] AH00163: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.1.20 configured -- resuming normal operations [Tue Feb 19 21:01:27.412242 2019] [core:notice] [pid 917] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND' ```
回答: > > 取り急ぎ本件の解決を最短で行いたいため、本ケースにおける解決方法、調査方法をご存知でしたら教えていただけると助かります。 > > > 残念ながら、質問の内容では情報が少なくて回答できる内容ではないので、一般論で.... 設定が間違っていない(直前まで稼働していて変更していない)状態で急に > > Error establishing a database connection > > > のようなエラーが発生する状況だとプロセス数が多すぎることによるメモリ不足が原因と思われます。 -- Web サーバーのアクセスログを調べると負荷が高くなるあたりから急激にアクセスが増えていたりしないでしょうか? `/wp-login.php` へのアクセスが多いのであれば、「ブルートフォースアタック(パスワード総当たり攻撃)」を受けている可能性が高いでしょう。 不正なアタック攻撃ではなく、普通のコンテンツへのアクセスが多いのであれば、サーバーのスペックを見直すか現在のスペックに合わせてメモリ不足にならない程度に接続数を絞るなどの対策が必要です。 古いバージョンの WordPress だと XSS を狙われた可能性もありますが... また、さくらの VPS の下位プランだと MySQL と Apache のプロセス数等の設定が CentOS の yum でインストールしたデフォルト設定のままの場合、WordPress へのアタック攻撃等の多数のアクセスがあると 同時アクセスの上限に引っかかる前にメモリ不足になり、メモリスワップが発生して負荷が急激に高くなりますが、この状態になっているのではないかと思います。 -- 対策ですが... ■ `/wp-login.php` への不正アクセスであれば、 firewalld 等で 不正にアクセスしてくるIPアドレスからのアクセスを遮断する。 ■ さくらの VPS なら SiteGuard Lite が使えると思いますので、導入する。( CMSのセキュリティ対策 ~SiteGuardシリーズでセキュリティ強化(その3)~ 参照 ) ■ スペックに合わせて apache / mysql ( mariadb ) の設定を最適化する。or サーバのプランを見直す。 などでしょうか。