MySQL通用查询日志 general query log 详解

通用查询日志(general query log)用来记录用户的所有操作,包括启动和关闭MySQL服务所有用户的连接开始时间和截止时间发送给MySQL数据库服务器的所有SQL指令等。当我们的数据发生异常时,查看通用查询日志,还原操作时的具体场景,准确定位问题。

1.查看日志状态:

show variables like '%general%';

默认情况下,通用查询日志处于关闭状态,需要手动进行启动。

2.启动日志:

方式一:永久性启动

修改my.cnf,或者my.ini配置文件来设置。在mysqld组下加入log选项,并重启MySQL服务。

[mysqld]
general_log=ON
general_log_file=[path[filename]]  # 日志文件所在目录,filename是日志文件名

如果不指定目录和文件名,通用查询日志将默认存储在MySQL数据目录中的hostname.log文件中,hostname表示主机名。

方式二:临时性启动

连接MySQL客户端,使用命令的方式进行启动

set global general_log=on;
set global general_log_file='path/filename';
set global general_log=off;

查看设置后的情况:

show variables like '%general%';

3.查看日志:

4.删除/刷新日志:

如果数据的使用非常频繁,那么通用查询日志会占用服务器非常大的磁盘空间。数据管理员可以删除很长时间之前的查询日志,以保证MySQL服务器上的硬盘空间。

方法一:

方法二:

# 清空通用查询日志文件
> /path/to/general.log

# 或者删除通用查询日志文件
rm /path/to/general.log


注意替换上面命令中的`/path/to/general.log`为你记录下来的通用查询日志文件路径。

生成环境推荐方法二

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值