十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
快速阅读
在光明等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站建设、网站制作 网站设计制作按需定制设计,公司网站建设,企业网站建设,品牌网站设计,成都营销网站建设,成都外贸网站建设,光明网站建设费用合理。
为什么要监控sql语句,以及如何监控,都有哪几种方式可以监控。
我们知道sql server 中有个工具叫sql profile ,可以实时监控sql server中 执行的sql 语句,以方便调试bug 或者确认最终生成的sql语句
为什么要监控sql语句?
如何在MySQL中监控sql语句?
默认mysql是不开启的sql语句监控的,当需要开启的时候 ,执行以下命令。
SHOW VARIABLES LIKE "general_log%"; -- off 是关闭,如果是on表示已经开启 SET GLOBAL general_log = 'ON'; --开启日志监控。
我是已经开启的状态 ,如果没有开启的时候 ,general_log 是显示的off .
如下图所示 ,会看到日志默认保存的路径 位置
C:\ProgramData\MySQL\MySQL Server 5.5\Data\hcb-PC.log
接下来我们执行几条sql语句来查看
执行sql
SELECT * FROM `platform` UPDATE `platform` SET platform_type=2 WHERE id=1
接下来我们去看下日志
可以看到日志中包含了
Time Id Command Argument
分别对应时间 ,id, 命令, 参数
参数指的就是执行的sql语句。
如何让mysql中的sql语句显示在表中
在日志中查看不方便 ,如果让sql语句显示在数据库中的一个表中?
执行如下sql
SET GLOBAL log_output = 'TABLE'; SELECT * FROM mysql.general_log ORDER BY event_time DESC
用processlist显示
USE `information_schema`; SELECT * FROM PROCESSLIST WHERE info IS NOT NULL;
具说这种方式可以实时显示,但是我的不知道为啥不能实时显示新的sql 先记录一下。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对创新互联的支持。