13

在 MySQL 运行时截断 MySQL 慢查询日志(主要在 Linux 下,但 Windows 会很方便)的最安全方法是什么?

安全我的意思是:

  • 不得导致任何权限问题
  • 下次附加时不能跳回原来的大小
4

3 回答 3

23

要截断文件,无论它是否由正在运行的应用程序打开,请执行以下操作:

> /var/logs/your.log

在你的 shell 提示符下。

于 2009-02-23T11:39:38.337 回答
16

这里

您可以移动打开的文件,然后告诉 mysqld 刷新日志,这将打开一个新日志。

shell> cd mysql-data-directory
shell> mv mysql.log mysql.old
shell> mv mysql-slow.log mysql-slow.old
shell> mysqladmin flush-logs
于 2009-07-30T17:41:15.267 回答
5

如果这将是一个持续的问题,你应该看看logrotate因为它可以为你做这件事。

我不知道echo > file.log,虽然它是有道理的。我一直用cat /dev/null > file.log

另外,应该注意的是不要删除正在写入的日志文件,因为打开它的程序将继续写入该文件,这一点非常重要。很难弄清楚为什么你所有的硬盘空间都不见了!

于 2009-02-26T01:20:29.160 回答