Richard Nienaber Asked: 2009-06-27 12:50:53 +0800 CST2009-06-27 12:50:53 +0800 CST 2009-06-27 12:50:53 +0800 CST 监控:mysqladmin ping 报告什么? 772 我正在尝试监视我们的 mysql 服务器是否已启动。我为此使用的命令是: mysqladmin ping 它将返回以下内容: mysqld is alive 这只是检查进程当前是否正在运行,还是检查服务器是否正在接受连接? mysql monitoring ping 3 个回答 Voted Best Answer Tommeh 2009-06-27T13:02:35+08:002009-06-27T13:02:35+08:00 “mysqladmin ping”尝试连接到选定的 MySQL 服务器。可以使用 -h 选项指定实际的服务器(例如 mysqladmin ping -h db.example.com),默认为 localhost。 如果服务器响应(即使有拒绝访问或类似消息),则假定服务器处于活动状态并且“mysqladmin ping”以代码 0 退出。 否则,假定服务器已关闭,并且存在代码 1 的“mysqladmin ping”。 David Pashley 2009-06-27T13:38:16+08:002009-06-27T13:38:16+08:00 如果你想确定你的 MySQL 服务器已经启动,最好的办法是编写一个小脚本来执行: SELECT "1"; 您的连接用户至少需要 USAGE 权限。这不会告诉您数据库表是否有任何问题,但您的应用程序监控可能会告诉您这一点。 无论如何,这完全有可能是 mysqladmin ping 所做的。 noonex 2017-01-23T09:45:34+08:002017-01-23T09:45:34+08:00 “向上”是一个非常广泛的术语。例如,它可能会响应 ping,但实际上没有可用磁盘空间,或者所有查询都被阻塞或每秒崩溃并自动重新启动,或者所有表实际上都被标记为崩溃甚至更糟 - 已删除或从系统中卸载 datadir 等。 或者它可以疯狂地交换,并且 CPU 被多个查询滥用,所以它几乎无法爬网,所以它肯定不是“up”。 或者,例如,由于连接限制,它可能无法响应 ping,但您的应用程序使用持久连接并且工作正常。 或者,它可能无法响应 ping,例如由于本地主机上的一些客户端问题,但同样 - 所有应用程序实际上都没有遇到任何问题。 因此,有时“ping”是有效的答案,但在考虑“监控服务器是否启动”时,您需要始终考虑这些情况。
“mysqladmin ping”尝试连接到选定的 MySQL 服务器。可以使用 -h 选项指定实际的服务器(例如 mysqladmin ping -h db.example.com),默认为 localhost。
如果服务器响应(即使有拒绝访问或类似消息),则假定服务器处于活动状态并且“mysqladmin ping”以代码 0 退出。
否则,假定服务器已关闭,并且存在代码 1 的“mysqladmin ping”。
如果你想确定你的 MySQL 服务器已经启动,最好的办法是编写一个小脚本来执行:
您的连接用户至少需要 USAGE 权限。这不会告诉您数据库表是否有任何问题,但您的应用程序监控可能会告诉您这一点。
无论如何,这完全有可能是 mysqladmin ping 所做的。
“向上”是一个非常广泛的术语。例如,它可能会响应 ping,但实际上没有可用磁盘空间,或者所有查询都被阻塞或每秒崩溃并自动重新启动,或者所有表实际上都被标记为崩溃甚至更糟 - 已删除或从系统中卸载 datadir 等。
或者它可以疯狂地交换,并且 CPU 被多个查询滥用,所以它几乎无法爬网,所以它肯定不是“up”。
或者,例如,由于连接限制,它可能无法响应 ping,但您的应用程序使用持久连接并且工作正常。
或者,它可能无法响应 ping,例如由于本地主机上的一些客户端问题,但同样 - 所有应用程序实际上都没有遇到任何问题。
因此,有时“ping”是有效的答案,但在考虑“监控服务器是否启动”时,您需要始终考虑这些情况。