zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

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

2023-03-07 09:45:42 时间

通用查询日志(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服务器上的硬盘空间。