在MySQL中,慢查询日志(slow query log)对于诊断性能瓶颈非常有用。但是,随着时间的推移,这些日志文件可能会变得非常大,占据大量的磁盘空间。因此,有时你可能需要在线删除或清空它们而不重启MySQL服务。
以下是几种方法来在线删除或清空MySQL的慢查询日志:

方法1:使用SET GLOBAL slow_query_log = 'OFF'; 和 SET GLOBAL slow_query_log = 'ON';

step1: 关闭慢查询日志(sql语句)

SET GLOBAL slow_query_log = 'OFF';

step2:删除慢日志文件(shell语句)

前提,你需要知道mysql慢日志在linux服务器上的具体路径,可通过查看my.cnf的配置文件获知

step3:打开慢查询日志(sql语句)

SET GLOBAL slow_query_log = 'ON';

方法2:使用FLUSH SLOW LOGS;

MySQL提供了一个FLUSH SLOW LOGS;语句用于轮转慢查询日志。执行这条语句后,MySQL会关闭当前的日志文件并创建一个新的日志文件。旧的日志文件不会自动被删除,你需要手动删除它。

step1: 执行FLUSH SLOW LOGS (sql语句)

FLUSH SLOW LOGS;

step2: 删除旧的慢日志文件

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐