Mysql操作日志(general_log)详解

开启general log将将会把所有到达MySQL Server的SQL语句记录下来。一般不会开启该功能,因为log的量会非常庞大,开启后会有5%-10%的性能损耗,。但个别情况下可能会临时的开一会儿general log以供排障使用。 

相关命令

1
2
3
4
5
6
#查看日志是否开启
show variables like 'general_log';   
#看看日志输出类型 table或file      
show variables like 'log_output';   
#看看日志文件保存位置      
show variables like 'general_log_file';

开启操作日志(general_log)

注:配置的日志路径需赋予mysql权限

方法一:设置配置文件my.cnf(需重启)

添加以下参数

1
2
3
4
[mysqld]
log_output=FILE     #日志打印到文件,默认配置,可以配置成table,日志就会记录到mysql库中的相应的表中(slow日志也会受影响)
general_log=1
general_log_file=/var/lib/mysql/logs/query_log.log

方法二:动态设置(不重启)

登录mysql执行

1
2
3
mysql> set global log_output='FILE';
mysql> set global general_log=on;
mysql> set global general_log_file='/var/lib/mysql/logs/query_log.log';

  

  

posted @   RFAA  阅读(2240)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示