本文目录导读:

不同数据库查看当前连接数的方法有所不同,以下是几种主流数据库的查询命令:
MySQL
-
查看当前总连接数(Threads_connected):
SHOW STATUS LIKE 'Threads_connected';
-
查看活跃/正在运行的连接数(Threads_running):
SHOW STATUS LIKE 'Threads_running';
-
查看所有当前的连接详情(包括用户、主机、状态等):
SHOW PROCESSLIST;
(如果权限足够,可以加上
\G或使用SELECT * FROM information_schema.processlist以获得更详细的信息) -
查看最大连接数配置:
SHOW VARIABLES LIKE 'max_connections';
PostgreSQL
-
查看当前活跃的连接数(不包括空闲连接):
SELECT count(*) FROM pg_stat_activity WHERE state = 'active';
-
查看所有当前连接数(包括空闲、等待等):
SELECT count(*) FROM pg_stat_activity;
-
查看所有连接详情:
SELECT * FROM pg_stat_activity;
-
查看最大连接数配置:
SHOW max_connections;
Oracle
- 查看当前总连接数(会话数):
SELECT COUNT(*) FROM v$session;
- 查看活跃连接数:
SELECT COUNT(*) FROM v$session WHERE status = 'ACTIVE';
- 查看单个用户的连接数(例如用户名为
SCOTT):SELECT username, count(*) FROM v$session GROUP BY username;
SQL Server
- 查看当前所有连接:
SELECT * FROM sys.dm_exec_connections;
- 查看当前会话数:
SELECT COUNT(*) FROM sys.dm_exec_sessions;
- 查看会话及用户信息:
SELECT session_id, login_name, status, host_name FROM sys.dm_exec_sessions WHERE is_user_process = 1;
MongoDB
- 查看当前连接数(在
mongo shell中):db.serverStatus().connections
返回结果示例:
{ "current" : 10, "available" : 100, "totalCreated" : 200 }current:当前活跃的连接数available:可用的连接数totalCreated:自启动以来创建的总连接数
Redis
- 查看当前连接数(在
redis-cli中):INFO clients
或者:
CLIENT LIST
在
INFO clients输出中,connected_clients字段即为当前客户端连接数。
提示:
- 如果权限不足,部分查询(如
SHOW PROCESSLIST或v$session)可能无法看到全部连接,或者只能看到自己的连接。 - 频繁查询连接数本身也会消耗一个连接,但通常影响极小。