Error establishing a database connection
今朝このWebサイトに接続すると、「Error establishing a database connection」とのメッセージが出力されページが表示できない。管理者画面に接続すると、DBサーバがDOWNしているとのメッセージを確認。
mysqldプロセスが停止していることを確認。暫定対処としてmysqldを起動。本Webサイトへ接続可能となったことを確認。
mysqldプロセスがダウンしていることを確認 # ps -ef | grep mysqld | grep -v grep # mysqld 起動 # service mysqld start Restarting mysqld (via systemctl): [ OK ] # mysqldプロセス起動を確認 # ps -ef | grep mysqld | grep -v grep root 15252 1 0 08:17 ? 00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql mysql 15480 15252 0 08:17 ? 00:00:20 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock #
mysqlログの場所を確認。
# more my.cnf : [mysqld_safe] log-error=/var/log/mysqld.log :
mysqlログを確認。
# tail -100 mysqld.log | more : 2016-02-02 02:22:08 14558 [Note] InnoDB: Initializing buffer pool, size = 128.0M InnoDB: mmap(137363456 bytes) failed; errno 12 2016-02-02 02:22:09 14558 [ERROR] InnoDB: Cannot allocate memory for the buffer pool 2016-02-02 02:22:09 14558 [ERROR] Plugin 'InnoDB' init function returned error. 2016-02-02 02:22:09 14558 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 2016-02-02 02:22:09 14558 [ERROR] Unknown/unsupported storage engine: InnoDB 2016-02-02 02:22:09 14558 [ERROR] Aborting
バッファが足りない模様。スワップ領域を追加してあげる必要がありそう。
# free total used free shared buff/cache available Mem: 1015944 584592 189800 57468 241552 216008 Swap: 0 0 0 #
今日は時間がないので、以下を参考に後日対応することとする。
Amazon EC2 の t1.microインスタンスでMySQLがよく落ちる
翌日もDBが落ちていたので、SWAP追加。
# dd if=/dev/zero of=/swapfile bs=1M count=1024 1024+0 レコード入力 1024+0 レコード出力 1073741824 バイト (1.1 GB) コピーされました、 16.5406 秒、 64.9 MB/秒 # # mkswap /swapfile スワップ空間バージョン1を設定します、サイズ = 1048572 KiB ラベルはありません, UUID=471c553d-f566-421b-8683-d37c89557589 # # swapon /swapfile swapon: /swapfile: 安全でない権限 0644 を持ちます。 0600 がお勧めです。 # # chmod 600 /swapfile # ll -h /swapfile -rw-------. 1 root root 1.0G 2月 4 00:03 /swapfile # # free total used free shared buff/cache available Mem: 1015944 555480 85664 57468 374800 251572 Swap: 1048572 0 1048572 #
ファイルシステム(/)領域逼迫
久しぶりにファイルシステムの容量確認したら、/(ルート)領域が残り僅かになっていた。
# df -h ファイルシス サイズ 使用 残り 使用% マウント位置 /dev/xvda2 10G 8.8G 1.3G 88% / devtmpfs 480M 0 480M 0% /dev tmpfs 496M 0 496M 0% /dev/shm tmpfs 496M 57M 440M 12% /run tmpfs 496M 0 496M 0% /sys/fs/cgroup tmpfs 100M 0 100M 0% /run/user/1000 # # cd / # du -sk data/ etc/ media/ opt/ root/ tmp/ var/ boot/ dev/ home/ mnt/ run/ srv/ sys/ usr/ | sort -nr 4043140 var/ # /usrはバイナリが置かれているので仕方ないとして、/varが問題 2509568 usr/ 216628 boot/ 57432 run/ : # cd /var # du -sk adm/ crash/ empty/ games/ kerberos/ local/ log/ nis/ preserve/ spool/ var/ yp/ cache/ db/ ftp/ gopher/ lib/ opt/ www/ | sort -nr 2843616 www/ # やっぱり問題はwwwディレクトリ配下 439872 cache/ 380608 log/ : # cd /var/www/html/wordpress/wp-content/uploads # du -sk * | sort -nr 2456152 file-backup # バックアップデータが格納されているfile-backupディレクトリが問題の模様 85388 2016 65080 database-backup : # du -sk * file-backup 193112 2018-03-04_00-02-02_TG75HZRG01.tar.gz 205048 2018-03-11_00-00-31_6275HZWI01.tar.gz 205796 2018-03-18_00-02-06_5K75HZTX01.tar.gz 205800 2018-03-25_00-04-54_BW75HZSE01.tar.gz 205796 2018-04-01_00-07-51_DG75HZWW01.tar.gz 205796 2018-04-08_00-07-39_F275HZQE01.tar.gz 205796 2018-04-15_00-09-39_JG75HZSD01.tar.gz 205800 2018-04-22_00-02-24_4675HZRJ01.tar.gz 205800 2018-04-29_00-04-15_5S75HZWQ01.tar.gz 205800 2018-05-06_00-15-18_NG75HZRQ01.tar.gz 205796 2018-05-13_00-03-36_G675HZRM01.tar.gz 205796 2018-05-20_00-04-42_C675HZQU01.tar.gz
BackWPUp というプラグインでバックアップの設定していたが、見直しが必要な模様。週一でバックアップを12個(3ヶ月保持)にしていたので、8個(2ヶ月)保持に変更して、2ヶ月以上前のバックアップは削除実施。
# df -h ファイルシス サイズ 使用 残り 使用% マウント位置 /dev/xvda2 10G 8.0G 2.1G 80% / devtmpfs 480M 0 480M 0% /dev tmpfs 496M 0 496M 0% /dev/shm tmpfs 496M 57M 440M 12% /run tmpfs 496M 0 496M 0% /sys/fs/cgroup tmpfs 100M 0 100M 0% /run/user/1000
2GBの空きがあれば大丈夫でしょう!
[siteorigin_widget class=”AdWidgetItem”][/siteorigin_widget]
[siteorigin_widget class=”WP_Widget_Search”][/siteorigin_widget]
[siteorigin_widget class=”WP_Widget_Pages”][/siteorigin_widget]
[siteorigin_widget class=”AdWidgetItem”][/siteorigin_widget]