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

Как повернуть журналы запросов mySQL в Windows

Я вижу противоречивые (или дополняющие) ответы о том, как чередовать журналы mySQL, и хочу знать, достаточно ли каждого метода сам по себе или мне нужно использовать их комбинацию.

Один метод, предложено здесь, предписывает следующие шаги:

  1. SET протоколирование OFF
  2. RENAME лог-файл
  3. SET протоколирование ON

Другой метод, отсюда, дает следующие шаги:

  1. RENAME файл журнала
  2. FLUSH LOGS

документация mySQL упоминает все эти шаги, но не разъясняет, являются ли они разными методами выполнения одного и того же действия или всеми необходимыми шагами процесса. Нужно ли мне FLUSH LOGS и SET входить / выходить, или просто сделать одно из двух?

В документации MySQL, на которую вы ссылались, сказано «используйте любой из них». Но следующие

FLUSH LOGS поддерживает дополнительные модификаторы для включения выборочной очистки отдельных журналов (например, FLUSH BINARY LOGS).

Операция очистки журнала выполняет следующие действия:

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

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

  • Если сервер был запущен с параметром --log-error, чтобы журнал ошибок записывался в файл, сервер закрывается и повторно открывает файл журнала.

не работает в Windows для открытых файлов (см. Как я могу переименовать файлы и папки в Windows, которые используются?, Переименование открытого файла).

Кроме того, в документах говорится

SET GLOBAL general_log = 'OFF'; ...

Этот метод работает на любой платформе