workbench 和 phpmyadmin 显示不同数量的连接

问题描述 投票:0回答:1

我在centos 7.4上运行mysql 8.0

phpmyadmin 和工作台显示有关连接数的完全不同的信息(如下所示)。

同时这是我在工作台上看到的:

这是 phpmyadmin 内部显示的有关流程的内容:

工作台内部的流程如下所示,它们与 phpmyadmin 的流程一致。

那么为什么它们显示相同的进程,但连接数量却截然不同?

mysql phpmyadmin mysql-workbench workbench
1个回答
0
投票

如果您查看 ajax 请求的有效负载,您可以看到

requiredData
,类似于:

{
    "0":[
        [{"type":"statusvar","name":"Questions"}]
    ],
    "1":[
        [{"type":"statusvar","name":"Connections"}],
        [{"type":"proc","name":"processes"}]
    ],
    "2":[
        [{"type":"statusvar","name":"Bytes_sent"}],
        [{"type":"statusvar","name":"Bytes_received"}]
    ],
    "3":[
        [{"type":"cpu","name":"loadavg"}]
    ],
    "4":[
        [{"type":"memory","name":"MemUsed"}],
        [{"type":"memory","name":"MemFree"}]
    ],
    "5":[
        [{"type":"memory","name":"SwapUsed"}],
        [{"type":"memory","name":"SwapFree"}]
    ]
}

"type":"statusvar"
列出的变量是使用
SHOW GLOBAL STATUS WHERE Variable_name=...
检索的,如在
Server/Status/Monitor.php
中所示:

// Retrieve all required status variables
$statusVarValues = [];
if (count($statusVars)) {
    $statusVarValues = $this->dbi->fetchResult(
        "SHOW GLOBAL STATUS WHERE Variable_name='"
        . implode("' OR Variable_name='", $statusVars) . "'",
        0,
        1
    );
}

如果您查看

refreshChartGrid()
,您可以看到 PMA 正在将每个 ajax 调用中收到的值与前一个调用中的值进行比较。对于连接,它使用
Connections
的值,而不是 Workbench 使用的
Threads_connected

© www.soinside.com 2019 - 2024. All rights reserved.