【问题标题】:How to detect what is running on MySQL every hour?如何检测每小时在 MySQL 上运行的内容?
【发布时间】:2016-05-17 20:10:19
【问题描述】:

Munin 每小时都会在 MySQL 查询上显示出巨大的峰值,但我无法检测到是什么原因造成的。我正在运行版本 5.6.30。

  • 尝试启用运行缓慢的查询,但在那里找不到。
  • 还记录了所有查询并尝试查看在特定时间运行的内容。我找不到它了。
  • 检查了 cronjobs 但没有任何相关内容
  • 几乎禁用 LFD 和 CSF 上的所有内容
  • 事件调度程序状态设置为关闭

有没有其他方法可以找到每小时运行的内容?

显示 sql 查询的 Munin 图:

【问题讨论】:

  • MySQL 有一个event scheduler - 你检查过吗?你运行的是什么版本的 MySQL? (请将此添加到您对 MySQL 的所有问题中,谢谢)。
  • MySQL 版本为 5.6.30,事件调度器状态设置为 OFF。
  • 半人?你至少能告诉我这是正常的图形吗?任何 MySQL 数据库都一样吗?

标签: mysql centos munin


【解决方案1】:

您可以使用 shell 脚本并输入指令“进程列表”并将输出发送到日志文件。 将您想要的延迟以秒为单位再次运行指令。

while [true];
    mysql -h localhost -u root -ppasswd < process
    delay xtime
done

以及您输入指令“显示完整进程列表”的文件进程列表

希望对你有帮助 问候

【讨论】:

  • 我可以通过 WHM 和 cPanel 查看进程列表。不显示任何会导致每小时重复的高 CPU 负载。应该是一些后台任务什么的。如果您只看 munin 图,您可以看到它是重复过程。我们的 PHP 代码中没有安排这样的事情。
【解决方案2】:

一些爬虫正在从我的网站中挖掘数据。我无法检测到,因为请求来自一百万个不同的 IP。

在人工控制和尖峰消失时向网站添加了验证码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-30
    • 2015-06-28
    • 2012-02-03
    • 1970-01-01
    • 1970-01-01
    • 2021-01-29
    • 1970-01-01
    相关资源
    最近更新 更多