如何在 Unix 上检查 mysql 状态

如何在 Unix 上检查 mysql 状态

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

$ mysql
mysql> status

除了这种方式,还有其他方法可以使用 ssh 远程检查状态吗?由于有许多 mysql 服务器,我不想 ssh 到每个服务器。谢谢。

答案1

尝试mysql管理员,它可以查询数据库的状态。

在本地主机上,你可以将密码存储在~/.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 上的数据包嗅探,请配置MySQL 使用 SSL

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

ssh db1.example.org "mysqladmin status"

答案2

您可以将其组合成一个命令:

ssh server 'echo status|mysql'

除此之外,我还会研究以下工具木偶如果您想要进一步的自动化。

相关内容