我试图监视我们的MySQL服务器是否启动。 我正在使用的命令是:
mysqladmin ping
它会返回以下内容:
mysqld is alive
这只是检查进程是否正在运行,还是检查服务器是否正在接受连接?
“mysqladmin ping”尝试连接到选定的MySQL服务器。 实际的服务器可以用-h选项指定(例如mysqladmin ping -h db.example.com),默认为localhost。
如果服务器响应(即使访问被拒绝或类似的消息),服务器被认为是活着的,“mysqladmin ping”以代码0退出。
否则,假定服务器closures,代码为1的“mysqladmin ping”存在。
如果你想确定你的MySQL服务器已经启动,最好的办法是编写一个小脚本来执行:
SELECT "1";
您的用户连接将至less需要使用权限。 这不会告诉你数据库表是否有问题,但应用程序监视可能会告诉你这一点。
这是完全可能的,这是什么mysqladmin平反正。
“up”是非常广泛的术语。 例如,它可能会响应ping,但实际上没有可用磁盘空间,或者所有查询都被阻塞或每秒崩溃并自动重新启动,或者所有表实际上标记为崩溃或更糟糕 – 掉落或数据目录从系统中卸载等。
或者它可以疯狂地交换,CPU被几个查询滥用,所以它很难爬,所以它不是“确定”。
或者,例如,由于连接限制,它可能无法响应ping,但是您的应用程序使用持续连接并且完美工作。
或者,例如,由于本地主机上的某些客户端问题,它可能无法响应ping,但是又一次 – 所有应用程序实际上都没有遇到任何问题。
所以,有时候“ping”是有效的答案,但是在考虑“监视服务器是否启动”的时候,你总是需要考虑这些情况。