关于对mysql语句进行监控的方法详解

  

  

为什么要监控sql语句,以及如何监控,都有哪几种方式可以监控。

  

我们知道sql server中有个工具叫sql剖面,可以实时监控sql server中执行sql语的句,以方便调试虫或者确认最终生成的sql语句

  


  

  
      <李>因为程序大了以后,sql语句有可能被多个地方调用。你不能确认当前时间是不是只执行了你需要的那条语句。   <李>有的持久层框架采用linq的语法来写sql,程序中不方便输出平方语句李   <李>线上运行的程序,没有办法更改程序。但需要确认问题出错在哪里?执行了哪些sql语句。可以根据sql语句来判断出错的地方。   
  


  

  

默认mysql是不开启的sql语句监控的,当需要开启的时候,执行以下命令。

        显示变量如“general_log %”;——从是关闭,如果是在表示已经开启   集全球general_log='在';——开启日志监控。      

我是已经开启的状态,如果没有开启的时候,general_log是显示的。

  

如下图所示,会看到日志默认保存的路径位置

  
  

C: \ ProgramData \ MySQL \ 5.5 \ Data \ hcb-PC MySQL服务器。日志
  

     

关于对mysql语句进行监控的方法详解

  

接下来我们执行几条sql语句来查看

  

<>强执行sql

        从“平台”选择*   更新的平台设置platform_type=2, id=1      

接下来我们去看下日志

  

关于对mysql语句进行监控的方法详解

  

可以看到日志中包含了

  
  

Time ,,,,,,,,,,,,,,,Id Command ,,参数
  

     

分别对应时间,id,命令,参数

  

参数指的就是执行的sql语句。

  


  

  

在日志中查看不方便,如果让sql语句显示在数据库中的一个表中吗?

  

执行如下sql

        集全球log_output=氨怼?   从mysql选择*。general_log ORDER BY event_time DESC      

关于对mysql语句进行监控的方法详解

  

<强>用processlist显示
  

        使用“information_schema”;   SELECT *从PROCESSLIST信息不是零,      

具说这种方式可以实时显示,但是我的不知道为啥不能实时显示新的sql先记录一下。

  

关于对mysql语句进行监控的方法详解

  

  

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。

关于对mysql语句进行监控的方法详解