В MySQL, как я могу удалить / очистить / очистить все ненужные журналы? - PullRequest
22 голосов
/ 12 сентября 2011

Я пробовал несколько команд (FLUSH LOGS, PURGE MASTER), но ни одна из них не удаляет файлы журналов (если они были предварительно активированы) или таблицы журналов (mysql / slow_log.CSV и mysql / general_log.CSV и их аналоги .frm и .CSM. ).

SHOW BINARY LOGS возвращает «Вы не используете двоичное ведение журнала».

Редактировать : Я нашел это простое решение для очистки журналов таблиц (но еще не журналов файлов с помощью команды mysql):

TRUNCATE mysql.general_log;
TRUNCATE mysql.slow_log;

Ответы [ 3 ]

28 голосов
/ 12 сентября 2011

FLUSH LOGS просто закрывает и снова открывает файлы журнала.Если файлы журнала велики, это не уменьшит их.Если вы работаете в Linux, вы можете использовать mv для переименования файлов журналов, когда они используются, а затем после FLUSH LOGS вы знаете, что MySQL записывает в новый маленький файл, и вы можете удалить старый большойфайлы.

Двоичные журналы разные.Для удаления старых binlogs используйте PURGE BINARY LOGS .Убедитесь, что ваши подчиненные (если таковые имеются) все еще не используют двоичные журналы.То есть, запустите SHOW SLAVE STATUS, чтобы увидеть, над каким файлом binlog они работают, и не очищайте этот файл или более поздние файлы.

Также имейте в виду, что binlogs полезны для восстановления на определенный момент времени.в случае, если вам нужно восстановить из резервных копий, а затем повторно применить binlogs для обновления базы данных.Если вам нужно использовать binlogs таким способом, не очищайте binlogs, которые были записаны с момента последнего резервного копирования.

17 голосов
/ 18 июня 2013

Если вы используете Amazon RDS, дважды выполните эту команду:

PROMPT> CALL mysql.rds_rotate_slow_log;
PROMPT> CALL mysql.rds_rotate_general_log;

Источник: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.Concepts.MySQL.html

0 голосов
/ 17 декабря 2014

Кажется, двоичное ведение журнала не включено на вашем сервере. И я предполагаю, что вы хотите удалить старые файлы журнала, которые использовались / создавались во время включения двоичного ведения журнала. Вы можете удалить их вручную, используя команду «rm», если хотите. если вы хотите включить двоичное ведение журнала, вы можете сделать то же самое, обновив файл конфигурации (но он требует перезагрузки сервера, если он уже запущен). Вы можете ссылаться ниже ссылки. http://dev.mysql.com/doc/refman/5.0/en/replication-options-binary-log.html#option_mysqld_log-bin http://dev.mysql.com/doc/refman/5.0/en/replication-options-binary-log.html#sysvar_log_bin

...