• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    关于对mysql语句进行监控的方法详解

    快速阅读

    为什么要监控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 先记录一下。

    总结

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

    您可能感兴趣的文章:
    • 详解MySQL监控工具 mysql-monitor
    • 详解MySQL 表中非主键列溢出情况监控
    • 使用Grafana+Prometheus监控mysql服务性能
    • zabbix监控Nginx/Tomcat/MySQL的详细教程
    • mysql索引使用率监控技巧(值得收藏!)
    • zabbix监控MySQL主从状态的方法详解
    • MySQL数据库监控软件lepus使用问题以及解决办法
    • 利用Prometheus与Grafana对Mysql服务器的性能监控详解
    • MySQL实时监控工具orztop的使用介绍
    • 实战模拟监控MySQL服务shell脚本小结
    • 安装配置Zabbix来监控MySQL的基本教程
    • 简述mysql监控组复制
    上一篇:OEL7.6源码安装MYSQL5.7的教程
    下一篇:关于MySQL的sql_mode合理设置详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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