快速阅读

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

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

为什么要监控sql语句?

  1. 因为程序大了以后,sql语句有可能被多个地方调用 。你不能确认当前时间是不是只执行了你需要的那条语句 。
  2. 有的持久层框架采用linq的语法来写sql , 程序中不方便输出sq语句
  3. 线上运行的程序,没有办法更改程序。但需要确认问题出错在哪里?执行了哪些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 先记录一下。

友情提示

​ 我对我的文章负责,发现好多网上的文章 没有实践,都发出来的,让人走很多弯路,如果你在我的文章中遇到无法实现,或者无法走通的问题。可以直接在公众号《爱码农爱生活 》留言。必定会再次复查原因。让每一篇 文章的流程都能顺利实现。

最新文章

  1. BZOJ 2286 消耗战 (虚树+树形DP)
  2. 使用mailx发送邮件
  3. UVALive 3644 X-Plosives
  4. HTTP基础08--追加协议
  5. 【干货分享】Node.js 中文资料导航
  6. Java Socket 网络编程心跳设计概念
  7. discuz 学习
  8. HDU 5877 [dfs序][线段树][序]
  9. php手册学习
  10. linux/windows系统oracle数据库简单冷备同步
  11. mongoDb +Java+springboot
  12. OC基础 单例
  13. 数字时钟DigClock
  14. python笔记之字符串
  15. 【jQuery】使用JQ要准备的主要淡入淡出效果
  16. js 实现键盘记录 兼容FireFox和IE
  17. HTML行内元素、块状元素、行内块状元素的区别
  18. 51nod 1126 求递推序列的第N项 思路:递推模拟,求循环节。详细注释
  19. 39. Combination Sum(medium, backtrack 的经典应用, 重要)
  20. hadoop记录-如何换namenode机器

热门文章

  1. 【雅思】【绿宝书错词本】List25~36
  2. FastDFS+Nginx搭建Java分布式文件系统
  3. Django——Xadmin中的功能
  4. TP5框架模块绑定二级域名
  5. Python_模块的定义与使用
  6. HDFS重启集群导致数据损坏,使用fsck命令修复过程
  7. 【独家】K8S漏洞报告 | CVE-2019-1002101解读
  8. redis问题解决 Caused by: io.lettuce.core.RedisException: io.lettuce.core.RedisConnectionException: DENIED Redis is running in protected mode because protected mode is enabled, no bind address was specifie
  9. 安装k8s,高可用3 master安装脚本
  10. LGOJP3952 时间复杂度