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の空きがあれば大丈夫でしょう!
WebProgramming入門
- 01a. 開発環境構築(Windows8.1+VMware Player+CentOS)
- 01b. 開発環境構築(Windows 10+Ubuntu)
- 01c. 開発環境構築(Ubuntu18.04(WSL)+Ansible+Serverspec+WP-CLI)
- 01d. 開発環境構築(WSL2+Ubuntu18.04+Docker)(作成中)
- 02a. AWS環境構築(CentOS6)
- 02b. AWS環境構築(CentOS6+LAMP環境+WordPress)
- 02c. AWS環境構築(CentOS7+Django)
- 02d. AWS環境構築(CentOS7+Ansible+Serverspec+WP-CLI+Munin)(作成中)
- 02z. さくらのクラウド環境構築(CentOS7+Ansible+Serverspec+WP-CLI)
- 03a. WordPress制作入門
- 03b. WordPress制作入門
- 04. トラブルシューティング
- 11. HTML/CSS入門
- 11a. ProgateでHTML&CSS初級
- 11b. ProgateでHTML&CSS中級(ランディングページ)
- 11c. ProgateでHTML&CSS上級(レスポンシブデザイン)
- 11d. ProgateでHTML&CSS(Flexbox編)
- 11e. ProgateでSass(CSSをより便利に効果的に操作する言語)
- 11y. ドットインストールでBootstrap4入門
- 11z. PaizaラーニングでBootstrap4入門
- 12. MySQL入門
- 12a. ProgateでSQL Ⅰ~Ⅲ
- 12b. ドットインストールでmongoDB入門
- 13. PHP入門
- 14. ProgateでRubyⅠ~Ⅴ
- 15a. ProgateでRuby on RailsⅠ~Ⅴ
- 15b. ProgateでRuby on RailsⅥ~Ⅷ
- 15c. ProgateでRuby on RailsⅨ~Ⅺ
- 16. ProgateでPythonⅠ~Ⅴ
- 17. paizaラーニングでFlask入門
- 18a. Django入門1(Djangoの基本の理解)
- 18b. Django入門2(Djangoの動作の理解)
- 18c. Django入門3(Djangoのテンプレートとフォームを理解)
- 18d. Django入門4(お勧め店を投稿できるランチマップアプリの作成)
- 18e. Django入門5(Djangoでユーザー管理)
- 19a. ProgateでjQuery初級編
- 19b. ProgateでjQuery中級編
- 19c. ProgateでjQuery上級編
- 20a. ProgateでJavascript(ES6)Ⅰ~Ⅲ
- 20b. ProgateでJavaScript Ⅳ~Ⅴ
- 20c. ProgateでJavaScript Ⅵ~Ⅶ
- 20d. JavaScriptでCRUDアプリを作る(ELOOP)