Упал блог, в логах NGINX видна ошибка:
2018/03/19 13:17:11 [error] 5992#5992: *3105079 FastCGI sent in stderr: “PHP message: WordPress database error Disk full (/tmp/#sql_7348_0.MAI); waiting for someone to free some space… (errno: 28 “No space left on device”)
ОК, идём на сервер баз данных, проверяем место:
[simterm]
root@ip-172-31-64-60:/home/admin# du -sh /var/log/
4.0G /var/log/
[/simterm]
А на диске всего 7.8 GB:
[simterm]
root@ip-172-31-64-60:/home/admin# df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda2 7.8G 7.4G 0 100% /
[/simterm]
Проверяем бинлоги MariaDB:
[simterm]
root@ip-172-31-64-60:/home/admin# ls -lh /var/log/mysql total 4.0G -rw-rw---- 1 mysql adm 348 Dec 21 00:20 mariadb-bin.000279 -rw-rw---- 1 mysql adm 101M Mar 17 12:58 mariadb-bin.000728 -rw-rw---- 1 mysql adm 101M Mar 17 14:21 mariadb-bin.000729 -rw-rw---- 1 mysql adm 101M Mar 17 15:50 mariadb-bin.000730 ...
[/simterm]
Удалим всё вплоть до “mariadb-bin.000766“, заходим в консоль MariaDB, выполняем purge binary logs
:
[simterm]
MariaDB [(none)]> purge binary logs to 'mariadb-bin.000765'; Query OK, 0 rows affected, 3 warnings (11 min 0.08 sec)
[/simterm]
Выполнялась 11 минут, проверяем:
[simterm]
MariaDB [(none)]> \! ls -lh /var/log/mysql total 405M -rw-rw---- 1 mysql adm 348 Dec 21 00:20 mariadb-bin.000279 -rw-rw---- 1 mysql adm 101M Mar 19 11:01 mariadb-bin.000765 -rw-rw---- 1 mysql adm 101M Mar 19 11:51 mariadb-bin.000766 -rw-rw---- 1 mysql adm 101M Mar 19 12:33 mariadb-bin.000767 -rw-rw---- 1 mysql adm 101M Mar 19 13:39 mariadb-bin.000768 -rw-rw---- 1 mysql adm 4.7M Mar 19 13:40 mariadb-bin.000769 -rw-rw---- 1 mysql adm 170 Mar 19 13:39 mariadb-bin.index -rw-r--r-- 1 mysql adm 0 Dec 21 00:07 mariadb-main.log -rw-r--r-- 1 mysql adm 3.1K Mar 19 02:00 mysql_all_dbs_backups_to_s3.log
[/simterm]
400 метров занято теперь.
Для ротации логов – в /etc/mysql/my.cnf
в блоке [mysqld]
должно быть указание на размер файла лога и сколько дней хранить логи:
[simterm]
root@ip-172-31-64-60:/home/admin# cat /etc/mysql/my.cnf | grep 'expire_logs_days\|max_binlog_size' expire_logs_days = 2 max_binlog_size = 100M
[/simterm]
Наверно много писал, много обновлений в базе было – вот и накопилось бинлогов за два дня на 4 гига. Хотя RTFM не единственный мой ресурс, кто пользует этот сервер БД.
Готово.