Усеченный медленный запрос Войти в MySQL - PullRequest
14 голосов
/ 23 февраля 2009

Какой самый безопасный способ обрезать медленный журнал запросов MySQL (в первую очередь под Linux, но Windows будет полезно знать), когда MySQL работает?

Под сейфом я подразумеваю:

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

Ответы [ 3 ]

22 голосов
/ 23 февраля 2009

Чтобы обрезать файл независимо от того, открыт ли он запущенным приложением, выполните:

> /var/logs/your.log

в командной строке.

16 голосов
/ 30 июля 2009

С здесь :

Вы можете переместить открытый файл, а затем сказать mysqld очистить журналы, что откроет новый журнал.

shell> cd mysql-data-directory
shell> mv mysql.log mysql.old
shell> mv mysql-slow.log mysql-slow.old
shell> mysqladmin flush-logs
5 голосов
/ 26 февраля 2009

Если это постоянная проблема, вам следует взглянуть на logrotate , так как он может сделать это для вас.

Я не знал о echo > file.log, хотя это имеет смысл. Я всегда использовал cat /dev/null > file.log.

Кроме того, следует отметить, что очень важно не удалять файл журнала, в который выполняется запись, поскольку программа, в которой он открыт, продолжит запись в файл. Очень сложно понять, почему все пространство на жестком диске исчезло!

...