generallog&slowquerylog对于MySQL的通用查询日志和慢查询日志,启用起来比较简单,常用参数之一是log_output,log_output控制慢查询和通用查询日志查询日志的输出方向可以是表(mysql.general_log、mysql.slow_log)或者文件(由参数general_log_file和slow_query_log_file的配置决定)或者同时输出到表和文件(我不懂什么时候需要同时输出到一个表和一个文件)。但是两者受log_output参数影响,输出目标始终相同,即都写入表,或者都写入文件,一个不输出到表,另一个输出到文件。--slowlog相关参数select*fromperformance_schema.global_variableswherevariable_namein('slow_query_log','log_output','slow_query_log_file','long_query_time')--generallog相关参数select*fromperformance_schema.global_variableswherevariable_namein('general_log','log_file_log')对于以上两个日志类型,系统默认不会清除,所以打开相关日志后,需要手动清除。如何清理历史通用日志&慢查询日志1.当输出目标是表时,不能直接删除。如果直接删除,报错信息“ERROR1556(HY000):Youcan'tuselockswithlogtables.”会出现。通用日志比如需要先关闭general_log,然后重命名general_log表,删除重命名的表,最后重命名回来,最后打开general_log(如果需要的话)SETGLOBALgeneral_log='OFF';RENAMETABLEgeneral_logTOgeneral_log_temp;DELETEFROMgeneral_log_tempWHEREevent_time
