MySQL清理慢查询日志slow_log的方法
一、清除原因
因为之前打开了慢查询,导致此表越来越大达到47G,导致磁盘快被占满,使用xtrabackup进行备份的时候文件也超大。
mysql> show variables like 'log_output%'; Connection id: 1694401091 Current database: mysql +---------------+-------+ | Variable_name | Value | +---------------+-------+ | log_output | TABLE | +---------------+-------+ 1 row in set (0.00 sec) mysql> show variables like '%slow%'; +---------------------+-------------------------------------+ | Variable_name | Value | +---------------------+-------------------------------------+ | log_slow_queries | ON | | slow_launch_time | 2 | | slow_query_log | ON | | slow_query_log_file | /home/mysql/data3311/sql01-slow.log | +---------------------+-------------------------------------+ 4 rows in set (0.00 sec)
现在备份之前的文件夹大小只有3.1G,备份后大小3.3G,使用mysqldump逻辑备份数据库为234M。
二、清理show_log的方法
mysql> use mysql; mysql> SET GLOBAL slow_query_log = 'OFF'; mysql> ALTER TABLE slow_log RENAME slow_log_drop; mysql> CREATE TABLE slow_log LIKE slow_log_drop; mysql> SET GLOBAL slow_query_log = 'ON'; mysql> DROP TABLE slow_log_drop;
三、相关参数
mysql> show variables like '%log_output%'; # 默认是FILE +---------------+-------+ | Variable_name | Value | +---------------+-------+ | log_output | TABLE | +---------------+-------+ 1 row in set (0.00 sec) mysql> show variables like '%quer%'; Connection id: 1694418241 Current database: *** NONE *** +-------------------------------+-------------------------------------+ | Variable_name | Value | +-------------------------------+-------------------------------------+ | ft_query_expansion_limit | 20 | | have_query_cache | YES | | log_queries_not_using_indexes | ON | | log_slow_queries | ON | | long_query_time | 2.000000 | | query_alloc_block_size | 8192 | | query_cache_limit | 2097152 | | query_cache_min_res_unit | 4096 | | query_cache_size | 67108864 | | query_cache_type | OFF | | query_cache_wlock_invalidate | OFF | | query_prealloc_size | 8192 | | slow_query_log | ON | | slow_query_log_file | /home/mysql/data3311/sql01-slow.log | +-------------------------------+-------------------------------------+ 14 rows in set (0.00 sec) -- log_output 默认是FILE,表示慢查询日志输入至日志文件,可以通过set修改输出为TABLE -- log_queries_not_using_indexes 默认是OFF,表示是否记录没有使用索引的查询 -- slow_query_log 默认是OFF,表示是否打开慢查询 -- long_query_time默认是 10.000000,表示记录超过时间的慢查询 SET global slow_query_log = ON; # 打开慢查询记录 SET GLOBAL long_query_time = 2.000000; # 记录超过2秒的慢查询句语 SET GLOBAL log_queries_not_using_indexes = ON; # 开启 记录没有使用索引的语句 SET global log_output='TABLE' # 默认为FILE,改为TABLE
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~