接收来自特定主机的MySQL请求数量

时间:2019-06-17 16:31:35

标签: mysql

我想使用

获取主机上MySQL连接的数量
SELECT COUNT(*) FROM information_schema.PROCESSLIST where host='hostname';

但是,每次连接后,主机看起来像端口#的主机号都不同。这使得无法匹配主机名。不考虑这些端口怎么办才能匹配主机?

它们看起来像:

Hostname:1212

Hostname:1214

1 个答案:

答案 0 :(得分:1)

您可以尝试创建一个MySQL视图,其中包含您的数据以及一个名为host的新列。该新列的值将基于您当前拥有的主机值,例如hostname:1234,它将使用substring或更优的substring_index从host:1234转到主机。

尝试使用此SELECT语句查看其是否有效

SELECT COUNT(*) FROM information_schema.PROCESSLIST where SUBSTRING_INDEX(host, ":", 1)='hostname';

然后您可以执行GROUP BY并正确获取COUNT(主机)。