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的值为多少,当开启日志时(或者刷新日志文件时),都会在日志文件中写入一个启动的消息。启动信息示例如下:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。