Назад | Перейти на главную страницу

Журнал запросов MySQL не очищается

Я включил журнал запросов MySQL для проверки того, какие запросы выполняются из нашего приложения в определенный промежуток времени.

Я хотел, чтобы журналы обновлялись в течение 3 дней один раз, поэтому я включил срок действия журнала как 3 дня.

Но когда я увидел файл журнала, он был там с момента включения журнала запросов, который длился больше недели.

Из-за этого размер файла журнала увеличился до размера файла более 2 ГБ, из которого не удалось получить информацию.

Есть ли возможность включить, чтобы файл журнала запросов был обновлен / очищен через несколько дней.

Я использую сервер MySQL 5.0.24.

expire_logs_days отвечает только за ротацию двоичных журналов.

Возможно, вам придется самостоятельно удалить журнал ошибок.

Попробуйте сделать это (пример: /var/log/mysqld.log - это журнал ошибок)

Шаг 01) Создайте сценарий, чтобы скопировать журнал ошибок и заархивировать его, назвав его по дате и времени (вызовите сценарий /root/rotate_mysqld_log.sh)

cd /var/log
DT=`date +"%Y%m%d_%H%M%S"`
BACKUP_ERROR_LOG=mysqld_${DT}.log.gz
cat mysqld.log | gzip > ${BACKUP_ERROR_LOG}
echo -n > mysqld.log

Шаг 02) сделайте /root/rotate_mysqld_log.sh исполняемым

chmod +x /root/rotate_mysqld_log.sh

Шаг 03) Добавьте скрипт в crontab (Поверните в полночь)

0 0 * * * /root/rotate_mysqld_log.sh

Попробуйте !!!