开发者社区> 问答> 正文

如何查看实时MySQL查询?

我如何跟踪Linux服务器上发生的MySQL查询?

例如,我希望设置某种侦听器,然后请求一个网页并查看引擎执行的所有查询,或者仅查看在生产服务器上运行的所有查询。我怎样才能做到这一点?

展开
收起
保持可爱mmm 2020-05-11 17:28:46 428 0
1 条回答
写回答
取消 提交回答
  • 您可以运行MySQL命令SHOW FULL PROCESSLIST;以查看在任何给定时间正在处理哪些查询,但这可能无法实现您所希望的。

    获取历史记录而不必使用服务器修改每个应用程序的最佳方法可能是通过触发器。您可以设置触发器,以便每次查询运行都将查询插入某种历史记录表中,然后创建一个单独的页面来访问此信息。

    请注意,这可能会大大减慢服务器上的所有内容,并INSERT在每个查询之上添加一个额外功能。

    编辑:另一个选择是General Query Log,但是将其写入平面文件将消除很多灵活性,尤其是实时显示。如果您只是想以一种简单,易于实现的方式查看正在发生的情况,则启用GQL然后tail -f在日志文件上使用运行即可解决问题。来源:stack overflow

    2020-05-11 17:28:57
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像