wordpress でDB接続エラーの解決方法

先週あたりから wordpress でDB接続エラーとなり
先日ようやく復旧できたので
解決策のメモです

なお、使用しているサーバはGMOクラウド public になります

まれにDB接続エラーになることがいままであり
そのときにはネットワークの再構築をすれば復旧していました

しかし、今回はこれでも復旧できなかったので数日かかってしまいました

原因は ディスク容量がいっぱいになり、それが原因で mysql の起動ができなかったため
というものです

以下、今回の対処方法のメモログになります

DB接続エラーが表示され、サイトにアクセスできないため
ssh でログインし

mysql -u root -p

で一度DBを確認しようとしたところ

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

となっていたので

mysqlが突然起動しなくなる 第二幕
を参考に

mysqld_safe 

としたところ

mysqld_safe Number of processes running now: 0

となってしまった

このエラーで検索したところ
mysqldが落ちてた時の対応メモ
によれば
によれば
mysql が落ちているらしい

less /var/log/mysqld.log 

でログを確認

InnoDB: Initializing buffer pool, size = 128.0M
とあったので
これで検索し

MySQLが「Fatal error: cannot allocate memory for the buffer pool」となり起動しない問題

にれよれば
buffer pool のメモリ割り当てが小さいのが原因になることがあるらしいので

vim /etc/my.cnf 

でファイルを開き

[mysqld]

の下へ

innodb_buffer_pool_size = 512M

を追記

しかしこれだと

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)

となってしまう

エラーをみると mysql.sock がないのが原因と思い
これを作成することに

MySqlのソケットエラーを解決する
を参考にしたところ、
mysql.sock は
mysqlを再起動すると、/var/lib/mysql/mysql.sockが自動的に作成される
とのこと

しかし、mysql を再起動しようとすると

ERROR! MySQL server PID file could not be found!

というエラーになり mysql の起動に失敗

このため mysql が起動できないということで検索した結果
MySQLが起動できない
によれば
ディスクがいっぱいの場合、mysql の起動がエラーになるとのこと

これで検索してみると
mysqlが起動しないのは容量がいっぱいだからかも。
にも書かれていました

コマンドでエラーを再度確認するためログファイルを
tail コマンドで表示します

tail -n 40 /var/log/mysqld.log

なお、tail コマンドについては
【 tail 】 ファイルの末尾を表示する
が参考になります

これでみると

mysql Errcode: 28

と表示されています

ということで

 df -h 

で調べたところ Available のところが 0% ….

このため、ディスク容量を追加することにしました

なお、使用するディスクの追加については
GMOクラウド public の場合
ディスク容量の編集(拡大/縮小)
に画像入りで説明があるので
これを元にディスクを追加したところ
再起動後に無事にサイトが復旧しました

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です