欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MySQL开启日志跟踪

程序员文章站 2022-06-29 10:31:56
在开发过程中有时候会遇到sql相关的问题,但是有时候代码中不会直接看到真实的sql,想要看到mysql中实际执行的是什么sql,可以通过开启日志跟踪方式查看。 1 开启日志跟踪 开启之后可以查看系统参数是否已经修改成功: 2 跟踪日志保存位置 跟踪日志可以有两种方式保存:(1) 保存到文件默认情况下 ......

在开发过程中有时候会遇到sql相关的问题,但是有时候代码中不会直接看到真实的sql,想要看到mysql中实际执行的是什么sql,可以通过开启日志跟踪方式查看。

1 开启日志跟踪

set global general_log = on;

开启之后可以查看系统参数是否已经修改成功:

show variables like 'general_log%';

 

2 跟踪日志保存位置

跟踪日志可以有两种方式保存:
(1) 保存到文件
默认情况下是保存到文件,如果不是,则可以执行以下sql语句进行修改:

set global log_output = 'file';

执行以下命令查看修改结果:

show variables like 'general_log%';

返回结果中general_log_file的值即为保存的文件路径。如果是linux系统,执行tail -100f 文件名 可以实时查看sql的执行情况

(2) 保存到表

set global log_output = 'table';

sql的执行情况会记录在表mysql.general_log中,可以执行以下语句查看:

select * from mysql.general_log order by event_time desc limit 100;

 

3 关闭跟踪

跟踪会消耗资源,问题定位完之后一定要关闭跟踪,执行以下sql关闭跟踪:

set global general_log = off;