mysql 即时追踪_MySQL跟踪SQL&慢查询分析工具

简介

之前的工作一直使用的SQL SERVER, 用过的都知道,SQL SERVER有配套的SQL跟踪工具SQL Profiler,开发或者定位BUG过程中,可以在操作页面的时候,实时查看数据库执行的SQL语句,十分方便。最近的项目使用MySQL,没有类似的功能,感觉到十分的不爽,网上也没有找到合适的免费工具,所以自己研究做了一个简单工具。

功能

实时查询MySql执行的SQL语句

查看性能异常的SQL(执行超过2秒)

技术方案

前端vue,样式bootstrap

后台dotnet core mvc

先看一下的效果:

d2cc38b8bb874123afffe0bc05e4f60e.png

b4e70a057576ce6fd461e8e13b5941f3.png

实现原理

Mysql支持输出日志,通过以下命令查看当前状态

show VARIABLES like '%general_log%' //是否开启输出所有日志

show VARIABLES like '%slow_query_log%' //是否开启慢SQL日志

show VARIABLES like '%log_output%' //查看日志输出方式(默认file,还支持table)

show VARIABLES like '%long_query_time%' //查看多少秒定义为慢SQL

下面我们将所有日志、慢SQL日志打开,日志输出修改为table,定义执行2秒以上的为慢SQL

set global log_output='table' //日志输出到table(默认file)

set global general_log=on; //打开输出所有日志

set global slow_query_log=on; //打开慢SQL日志

set global long_query_time=2 //设置2秒以上为慢查询

repair table mysql.general_log //修复日志表(如果general_log表报错的情况下执行)

注意:以上的设置,数据库重启后将失效,永久改变配置需要修改my.conf文件

现在日志文件都存在数据库表里面了,剩下的工作就是取数并展示出来就行了。本项目后台使用的MVC取数,然后VUE动态绑定,Bootstrap渲染样式。

前端代码

开发工具


时间执行语句

{ {log.time}}

@**@

{ {log.sql}}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值