mysql8 清理general_log.csv日志文件

今天mysql看磁盘空间不足,排查出来general_log.csv占了800G

 

 1. 功能如下:

开启general_log,会将所有到达Mysql Server的SQL语句记录。

一般不会开启开功能,因为log的量会非常庞大。

但个别情况下可能会临时的开一会儿general log以供排障使用。

例如:

不清楚程序执行了哪些sql语句,但是又要排除错误,找不到原因。可以短暂的开启general log日志。

mysql数据访问能量很大,想要从sql方面优化.研发经常会问到能看到哪些SQL执行比较频繁吗?回道:不能哦,只能看到当前正在运行的SQL和慢日志里记录的SQL.因为为了性能考虑,一般general log不会开启.slow log可以定位一些有性能问题的sql,而general log会记录所有的SQL.然而有时候生产上的mysql出现性能问题,短时间开启general log,来获取sql执行的情况,对排查和分析

2. 打开或关闭

查看状态
show global variables like '%general%';

开启
设置日志文件保存位置
set global general_log_file='/tmp/general_log';
开启日志功能
set global general_log=on; 
查看状态
show global variables like '%general%';

关闭
SET GLOBAL general_log = 'OFF';

3. 清理

找到general_log的文件 执行

cat /dev/null > general_log.csv

 

posted @ 2022-11-01 09:59  不会跳舞的胖子  阅读(1297)  评论(0编辑  收藏  举报