如何检查Unix上的MySQL状态

我通过ssh检查mysql服务器状态到服务器。

$ mysql mysql> status 

除此之外,还有没有其他方法可以使用ssh来远程检查状态? 由于有很多mysql服务器,我不想ssh到他们每个人。 谢谢。

试试mysqladmin ,它可以查询数据库的状态。

在本地主机上,您可以将密码存储在〜/ .my.cnf文件中 (确保权限是严格的)。 以下是MySQL 5.1手册中的一个例子:

 [client] # The following password will be sent to all standard MySQL clients password="my_password" 

然后,你可以像这样自动查询远程MySQL服务器:

 mysqladmin --host=db1.example.org --user=admin status Uptime: 884637 Threads: 1 Questions: 5534424 Slow queries: 144 Opens: 4444 Flush tables: 21 Open tables: 166 Queries per second avg: 6.259 

您需要确保远程服务器上的防火墙允许这些连接。 您还需要检查MySQL特权是否允许从远程主机进行这种访问。 如果您担心LAN上的数据包嗅探,则将MySQLconfiguration为使用SSL 。

通过ssh运行命令可以避免这些麻烦。

 ssh db1.example.org "mysqladmin status" 

你可以把它合并成一个命令:

 ssh server 'echo status|mysql' 

除此之外,如果你想进一步自动化,我会看像木偶的工具。