mysql数据库修改执行过程_SQL监控:mysql及mssql数据库SQL执行过程监控

一、mysql日志

mysql日志主要有三种日志:General Log(普通日志)、Slow  Log(慢查询日志)、Error Log(错误日志)。其中General Log就是查询日志,要对sql执行语句进行监控就是设置General Log。

Geleral log记录了服务器接收到的每一个查询或是命令,无论这些查询或是命令是否正确甚至是否包含语法错误,general log 都会将其记录下来 ,记录的格式为 {Time ,Id ,Command,Argument }。也正因为mysql服务器需要不断地记录日志,开启General log会产生不小的系统开销。 因此,Mysql默认是把General log关闭的。 我们可以通过修改Mysql全局变量来开启General log功能或是更改日志存放路径。

从MySQL5.1.6版开始,general query log和slow query log开始支持写到文件或者数据库表两种方式,并且日志的开启,输出方式的修改,都可以在Global级别动态修改。

(1)查看普通查询日志状态的命令是:

show global variables like '%general%';

58f9d3cab01da4de8969a89b0e255667.png

如果general_log的值为OFF,那么说明查询日志没有开启。

(2)开启查询日志的命令是:

set global general_log=on;

(3)普通查询日志支持写到文件或者数据库表两种方式。查看日志保存方式的命令是:

show variables like 'log_output';

29d9c1a537f43efd794545399bf1f258.png

如果是TABLE,那么是日志保存在mysql库的general_log表中。如果是FILE,那么就保存在日志文件中。

————————————————————————————————————————-

1、将查询日志保存到数据库中的设置命令是:

set global general_log=on;

SET GLOBAL log_output='table';

这样设置后,直接去mysql库的general_log查看查询日志即可。

2、将查询日志保存到日志文件中的设置命令是:

set global general_log=on;

SET GLOBAL log_output='file';

这样设置后查询记录就会保存在文件中,日志文件的保存路径可以在my.ini配置文件中使用log参数进行设置,如果不在配置文件中设置mysql会自动生成一个文件保存查询日志。

查看日志文件保存路径的命令:

show global variables like '%general%';

515efb8f220445bb0729537d509ef676.png

二、MSSQL日志

Mssql执行监控,在sqlserver上自带有一个性能监控的工具SQL Server Profiler,在开始菜单里可以找到它,使用SQL Server Profiler可以将SQL执行过程保存到文件和数据库表,同时它还支持实时查看和搜索。

下面我们来看看怎么使用它,打开 SQL Server Profiler后,在左上角的菜单栏里选择“文件”->“新建跟踪”,在常规栏输入跟踪名(随意)后,可以额外选择记录到文件和记录到数据库表中两种记录方式,根据需要选择好之后,点击“事件选择”标签,根据需要选择要记录的事件,我这里在事件选择里只保留TSQL下面的SQL:BatchCompleted事件,然后点击”运行“。

0cd1d496fbaefe400c31f39f5c81a7bc.png

运行后监控的到sql语句如下图所示:

9aee52f316812645a09a8d43c09756dc.png

参考资料:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值