Сегодня c моего vps сервера пришло сообщение, что он не может сохранить бекап сайта, т.к. нет места на дислке. Это притом, что в у меня диск на 20Г и из них первоначально было занято максимум 2Гига.
Начал я смотреть что же съело все место. Помогла команда
sudo ncdu /
Оказалось, что примерно 14Гигов занимал файл
/var/log/mysql/access.log
И так у меня назрел вопрос оптимизазии логов mysql
Открываю файл настроек mysql
sudo nano /etc/mysql/my.cnf
[client]
port=3306
socket=/var/run/mysqld/mysqld.sock
[mysqld_safe]
socket=/var/run/mysqld/mysqld.sock
[mysqld]
user=mysql
pid-file=/var/run/mysqld/mysqld.pid
socket=/var/run/mysqld/mysqld.sock
port=3306
basedir=/usr
datadir=/var/lib/mysql
tmpdir=/tmp
lc-messages-dir=/usr/share/mysql
log=/var/log/mysql/access.log
log_error=/var/log/mysql/error.log
log_warnings=2
max_connections=200
max_user_connections=30
#wait_timeout=30
wait_timeout=14400
interactive_timeout=50
long_query_time=5
innodb_file_per_table
!includedir /etc/mysql/conf.d/
И вижу, что в /var/log/mysql/access.log пишутся все выполняемые запросы на сервере. Поскольку отладкой сайта я сейчас не занимаюсь, то данный лог мне сейчас не нужен, закоментирую его. А в дополнение лучше включу лог медленных запросов. В итоге мой файл настроек mysql будет следующим.
[client]
port=3306
socket=/var/run/mysqld/mysqld.sock
[mysqld_safe]
socket=/var/run/mysqld/mysqld.sock
[mysqld]
user=mysql
pid-file=/var/run/mysqld/mysqld.pid
socket=/var/run/mysqld/mysqld.sock
port=3306
basedir=/usr
datadir=/var/lib/mysql
tmpdir=/tmp
lc-messages-dir=/usr/share/mysql
#log=/var/log/mysql/mysql-queries.log
log_warnings=2
max_connections=200
max_user_connections=30
#wait_timeout=30
wait_timeout=14400
interactive_timeout=50
long_query_time=5
innodb_file_per_table
!includedir /etc/mysql/conf.d/
Ну и напоследок перезагрузим mysql
sudo /etc/init.d/mysql restart
Начал я смотреть что же съело все место. Помогла команда
sudo ncdu /
Оказалось, что примерно 14Гигов занимал файл
/var/log/mysql/access.log
И так у меня назрел вопрос оптимизазии логов mysql
Открываю файл настроек mysql
sudo nano /etc/mysql/my.cnf
[client]
port=3306
socket=/var/run/mysqld/mysqld.sock
[mysqld_safe]
socket=/var/run/mysqld/mysqld.sock
[mysqld]
user=mysql
pid-file=/var/run/mysqld/mysqld.pid
socket=/var/run/mysqld/mysqld.sock
port=3306
basedir=/usr
datadir=/var/lib/mysql
tmpdir=/tmp
lc-messages-dir=/usr/share/mysql
log=/var/log/mysql/access.log
log_error=/var/log/mysql/error.log
log_warnings=2
max_connections=200
max_user_connections=30
#wait_timeout=30
wait_timeout=14400
interactive_timeout=50
long_query_time=5
innodb_file_per_table
!includedir /etc/mysql/conf.d/
И вижу, что в /var/log/mysql/access.log пишутся все выполняемые запросы на сервере. Поскольку отладкой сайта я сейчас не занимаюсь, то данный лог мне сейчас не нужен, закоментирую его. А в дополнение лучше включу лог медленных запросов. В итоге мой файл настроек mysql будет следующим.
[client]
port=3306
socket=/var/run/mysqld/mysqld.sock
[mysqld_safe]
socket=/var/run/mysqld/mysqld.sock
[mysqld]
user=mysql
pid-file=/var/run/mysqld/mysqld.pid
socket=/var/run/mysqld/mysqld.sock
port=3306
basedir=/usr
datadir=/var/lib/mysql
tmpdir=/tmp
lc-messages-dir=/usr/share/mysql
#log=/var/log/mysql/mysql-queries.log
log-slow-queries=/var/log/mysql-slow-queries.log
log_error=/var/log/mysql/error.loglog_warnings=2
max_connections=200
max_user_connections=30
#wait_timeout=30
wait_timeout=14400
interactive_timeout=50
long_query_time=5
innodb_file_per_table
!includedir /etc/mysql/conf.d/
Ну и напоследок перезагрузим mysql
sudo /etc/init.d/mysql restart