首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何监视和自动重新启动mysql?

如何监视和自动重新启动mysql?
EN

Server Fault用户
提问于 2011-01-22 21:38:23
回答 3查看 3.6K关注 0票数 4

我在Debian上运行mysql。

是否有一种方法来监视mysql,并在它锁定时自动重新启动它?例如,有时服务器开始占用100%的cpu,并开始运行非常慢。如果我重新启动mysql,事情就会恢复正常,服务器开始正常工作,但我并不总是会手动重新启动它。

是否有办法监视MySQL,如果CPU超过95%,连续10分钟以上,则MySQL将自动重新启动。

EN

回答 3

Server Fault用户

回答已采纳

发布于 2011-01-23 08:20:33

您可以使用莫尼特来完成这个任务。例如,假设您在60秒的循环中运行monit,以警告和重新启动mysql:

代码语言:javascript
复制
check process mysqld
  with pidfile /var/run/mysqld.pid
if cpu usage > 99% for 10 cycles then alert
if cpu usage > 99% for 10 cycles then restart

monit非常灵活,几乎可以对进程、内存等进行任何形式的监视。

这可能也可以用ps-观察器来完成,但是很难让ps观察者记住这种状态并对其采取行动。monit是正确的使用工具。

票数 3
EN

Server Fault用户

发布于 2015-09-08 17:31:11

除了弗朗西斯科,我建议不要以这种方式重新启动MySQL。因为:

  1. CPU尖峰表示活动,这意味着无论DB正在做什么操作,重新启动它几乎都是可以的。
  2. 使用高达100%的CPU并不是一件坏事,它的计算能力就是这样的:-)实际上,您可以更多地查看服务器的负载,而不是以%为单位的CPU使用率,因为它没有给出任何错误的指示。
  3. 根据您正在使用的引擎,失败的事务在重新启动时可能不会被重播,这意味着您将失去其中的一些。

说了这些话,你就可以找到一些东西:

  1. MySQL是否为服务器配置了“很好”;与之一样,它是否有足够的空间来容纳数据库的大小和运行的操作?
  2. 如果是的话,为什么还会有其他的服务导致这个负载呢?
  3. 最后,如果这“减慢”了服务器上其他服务的运行,您应该考虑重新平衡每个服务的资源,以便在所有服务之间共享服务器的计算能力。
票数 1
EN

Server Fault用户

发布于 2011-01-22 22:15:16

我相信你在找和自动的好守护进程

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/225617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档