Я вижу противоречивые (или дополняющие) ответы о том, как чередовать журналы mySQL, и хочу знать, достаточно ли каждого метода сам по себе или мне нужно использовать их комбинацию.
Один метод, предложено здесь, предписывает следующие шаги:
SET
протоколирование OFF
RENAME
лог-файлSET
протоколирование ON
Другой метод, отсюда, дает следующие шаги:
RENAME
файл журналаFLUSH LOGS
документация mySQL упоминает все эти шаги, но не разъясняет, являются ли они разными методами выполнения одного и того же действия или всеми необходимыми шагами процесса. Нужно ли мне FLUSH LOGS
и SET
входить / выходить, или просто сделать одно из двух?
В документации MySQL, на которую вы ссылались, сказано «используйте любой из них». Но следующие
FLUSH LOGS поддерживает дополнительные модификаторы для включения выборочной очистки отдельных журналов (например, FLUSH BINARY LOGS).
Операция очистки журнала выполняет следующие действия:
Если включено общее ведение журнала запросов или медленное ведение журнала запросов в файл журнала, сервер закрывается и повторно открывает файл общего журнала запросов или файл журнала медленных запросов.
Если двоичное ведение журнала включено, сервер закрывает текущий двоичный файл журнала и открывает новый файл журнала со следующим порядковым номером.
Если сервер был запущен с параметром --log-error, чтобы журнал ошибок записывался в файл, сервер закрывается и повторно открывает файл журнала.
не работает в Windows для открытых файлов (см. Как я могу переименовать файлы и папки в Windows, которые используются?, Переименование открытого файла).
Кроме того, в документах говорится
SET GLOBAL general_log = 'OFF'; ...
Этот метод работает на любой платформе