MySQL显示状态 - 活动连接还是总连接?

Mic*_*ael 187 mysql connection

当我运行show status like 'Con%'它时显示连接数,这是9972并且不断增长.这是一个活跃的连接数或连接总数吗?

小智 368

根据文档,它表示历史上的总数:

Connections

MySQL服务器的连接尝试次数(成功与否).

您可以通过状态变量查看活动连接的数量Threads_connected:

Threads_connected

当前打开的连接数.

mysql> show status where `variable_name` = 'Threads_connected';
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| Threads_connected | 4     |
+-------------------+-------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

......或通过show processlist命令:

mysql> show processlist;
+----+------+-----------------+--------+---------+------+-------+------------------+
| Id | User | Host            | db     | Command | Time | State | Info             |
+----+------+-----------------+--------+---------+------+-------+------------------+
|  3 | root | localhost       | webapp | Query   |    0 | NULL  | show processlist | 
|  5 | root | localhost:61704 | webapp | Sleep   |  208 |       | NULL             | 
|  6 | root | localhost:61705 | webapp | Sleep   |  208 |       | NULL             | 
|  7 | root | localhost:61706 | webapp | Sleep   |  208 |       | NULL             | 
+----+------+-----------------+--------+---------+------+-------+------------------+
4 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)


mis*_*nry 126

SHOW STATUS WHERE `variable_name` = 'Threads_connected';
Run Code Online (Sandbox Code Playgroud)

这将显示所有打开的连接.


小智 14

这是到目前为止服务器的总连接数.要查找当前的连接状态,您可以使用

mysqladmin -u -p extended-status | grep -wi'threads_connected\| threads_running'| awk'{print $ 2,$ 4}'

这将告诉你:

Threads_connected 12

Threads_running 1  

Threads_connected: Number of connections

Threads_running: connections currently running some sql
Run Code Online (Sandbox Code Playgroud)


Mug*_*ica 11

要查看更完整的列表,您可以运行:

show session status;
Run Code Online (Sandbox Code Playgroud)

要么

show global status;
Run Code Online (Sandbox Code Playgroud)

请参阅此链接以更好地了解其用法.

如果您想了解有关数据库的详细信息,可以运行:

status;
Run Code Online (Sandbox Code Playgroud)


sau*_*abh 7

你也可以

SHOW STATUS WHERE `variable_name` = 'Max_used_connections';
Run Code Online (Sandbox Code Playgroud)


Muj*_*aba 7

为了检查允许的最大连接数,您可以运行以下查询:

SHOW VARIABLES LIKE "max_connections";
Run Code Online (Sandbox Code Playgroud)

要检查活动连接数,您可以运行以下查询:

SHOW VARIABLES LIKE "max_used_connections";
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你。

  • `SHOW VARIABLES LIKE "max_used_connections";` 返回 `Empty set (0.00 sec)` 但在 `variable_name` = 'Max_used_connections' 处显示状态;在“variable_name”周围使用“`”有效 (4认同)
  • max_used_connections 显示自数据库启动以来使用的最大连接数,而不是当前活动连接数。来源:https://dev.mysql.com/doc/refman/8.0/en/server-status-variables.html#statvar_Max_used_connections (2认同)

小智 -3

它应该是当前的活动连接数。运行命令processlist进行确认。

参考网址:http://www.devdaily.com/blog/post/mysql/how-show-open-database-connections-mysql

编辑:打开的数据库连接数请看这里,这里描述了实际的线程(连接)数!

  • 我发现参考链接很有用。例如,“show status like '%onn%';”是一个非常有用的查询。 (2认同)
  • 这个答案是错误的,应该删除。请参阅其他答案。 (2认同)