在MySQL运行时截断MySQL慢查询日志的最安全的方法是什么(主要在Linux下,但Windows会很方便)?
安全我的意思是:
不得导致任何权限问题
下次附加时不得跳回原来的大小
vartec.. 22
无论是否正在运行的应用程序打开文件,都要截断文件:
> /var/logs/your.log
在你的shell提示符下.
无论是否正在运行的应用程序打开文件,都要截断文件:
> /var/logs/your.log
在你的shell提示符下.
从这里:
您可以移动打开的文件,然后告诉mysqld刷新日志,这将打开一个新日志.
shell> cd mysql-data-directory shell> mv mysql.log mysql.old shell> mv mysql-slow.log mysql-slow.old shell> mysqladmin flush-logs
如果这是一个持续关注的问题,你应该看看logrotate,因为它可以为你做这件事.
我不知道echo > file.log
,虽然这是有道理的.我一直都在用cat /dev/null > file.log
.
此外,应该注意的是,不删除正在写入的日志文件非常重要,因为打开它的程序将继续写入该文件.很难弄清楚为什么你的所有硬盘空间都消失了!