关于对mysql语句进行监控的方法详解
网络编程 2021-07-05 14:37www.168986.cn编程入门
这篇文章主要给大家介绍了关于对mysql语句进行监控的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用mysql具有一定的参考学习价值,需要的朋友们狼蚁网站SEO优化来一起学习学习吧
快速阅读
为什么要监控sql语句,以及如何监控,都有哪几种方式可以监控。
我们知道sql server 中有个工具叫sql profile ,可以实时监控sql server中 执行的sql 语句,以方便调试bug 或者确认最终生成的sql语句
为什么要监控sql语句?
- 因为程序大了以后,sql语句有可能被多个地方调用 。你不能确认当前时间是不是只执行了你需要的那条语句 。
- 有的持久层框架采用linq的语法来写sql , 程序中不方便输出sq语句
- 线上运行的程序,没有办法更改程序。但需要确认问题出错在哪里?执行了哪些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 先记录一下。
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对狼蚁SEO的支持。
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指