千家信息网

MySQL中的日志类型(二)-General query log

发表于:2024-11-25 作者:千家信息网编辑
千家信息网最后更新 2024年11月25日,简介General query log记录客户端的连接和断开,以及从客户端发来的每一个SQL语句。日志内容格式General query log可以记录在文件中,也可以记录在表中,格式如下:在文件中会
千家信息网最后更新 2024年11月25日MySQL中的日志类型(二)-General query log

简介

General query log记录客户端的连接和断开,以及从客户端发来的每一个SQL语句。

日志内容格式

General query log可以记录在文件中,也可以记录在表中,格式如下:
在文件中会记录时间、线程ID、命令类型以及执行的语句
示例如下:

当日志记录在表中时,还会记录账号信息,示例如下:

记录时间

General Query Log在数据库接收到客户端发来的语句时进行记录。这意味着General Query Log的顺序可能和实际语句执行的顺序是不同的。

设置方法

General Query Log可以在数据库启动时开启,也可以在数据库运行时开启。
在数据库启动前:
设置--general_log来开启日志
设置--log_output=[FILE,TABLE,NONE]来确定日志存放的位置。
设置--general_log_file=file_name来确定日志文件的名称和目录。
在数据库运行时:
修改全局变量来修改日志设置
修改general_log、log_output、general_log_file的值来修改相关设置,例如:

SET GLOBAL general_log=1
SET GLOBAL log_output='FILE';

此外,可以通过设置sql_log_off的值为ON或OFF来禁用或启用当前连接的General query log。

其他

数据库会根据log_output的值将日志写入到文件或表中。
但是不论log_output的值为多少,当开启日志时(或者刷新日志文件时),都会在日志文件中写入一个启动的消息。启动信息示例如下:

0