2014-01-17 113 views
2

上周我在崩溃后注意到我的mysql日志文件已经变得非常大以至于它消耗了磁盘 - 而不是一个巨大的磁盘。我最近实施了一个新的帮助台/售票系统,整个公司所采用的帮助台/售票系统比预期的要快得多,因此有99%的选择日志文件。MySQL日志文件的性能/大小

所以我的问题是这样的;我可以保留mysql日志记录但排除select语句吗?还有更多的我可以保留select语句,但排除某些数据库(即helpdesk)?

感谢任何响应

+0

如果你不能,那么你可以设计一些东西来逼近它。有效地使用'logrotate'并使用'postrotate'从旋转的文件中清除所有选择。 –

回答

1

你不能限制MySQL的一般日志文件到某些数据库或某些DML语句。它会记录在MySQL服务器上执行的所有内容,当然这在生产环境中是一个MySQL服务器的开销。

我建议您关闭生产服务器上的常规日志,并启用适当设置的慢查询日志,以便只记录需要注意的查询语句,稍后可以优化这些查询以获得更好的MySQL性能。

如果您仍然需要启用常规日志,请确保logrotate脚本用于常规日志文件,该日志文件将使其大小保持在一定的限制。 http://www.thegeekstuff.com/2010/07/logrotate-examples/

+0

IME,慢查询日志应该记录*每个*查询(这会使一般日志有点冗余)将查询限制为慢速查询会给性能带来扭曲的视图,并导致错误的调整决策:正确的解决方案是使用logrotate的。 – symcbean