如何在 Windows 上轮换 mySQL 查询日志

如何在 Windows 上轮换 mySQL 查询日志

我看到关于如何轮换 mySQL 日志的相互矛盾(或互补)的答案,并想知道每种方法本身是否足够,或者我是否需要两者结合使用。

一种方法,建议在这里,规定了以下步骤:

  1. SET日志记录OFF
  2. RENAME日志档案
  3. SET日志记录ON

另一种方法,从这里,给出以下步骤:

  1. RENAME日志文件
  2. FLUSH LOGS

mySQL 文档提到了所有这些步骤,但没有说明它们是完成相同任务的不同方法还是该流程的所有必要步骤。我需要登录/注销吗FLUSH LOGSSET还是只需执行其中一项?

答案1

您引用的 MySQL 文档说“使用其中任何一个”。但是以下

FLUSH LOGS 支持可选修饰符,以便选择性地刷新单个日志(例如,FLUSH BINARY LOGS)。

日志刷新操作执行以下操作:

  • 如果启用了将常规查询日志记录或慢速查询日志记录到日志文件,服务器将关闭并重新打开常规查询日志文件或慢速查询日志文件。

  • 如果启用了二进制日志记录,服务器将关闭当前二进制日志文件并使用下一个序列号打开新的日志文件。

  • 如果服务器启动时使用了 --log-error 选项,导致错误日志写入文件,则服务器将关闭并重新打开日志文件。

对于在 Windows 上打开的文件不起作用(请参阅如何重命名 Windows 中正在使用的文件和文件夹?重命名打开的文件)。

此外,文档还说

SET GLOBAL general_log = 'OFF'; ...

此方法适用于任何平台

相关内容