1. 查看当前总连接数
- SHOW STATUS LIKE 'Threads_connected';
复制代码
2. 查看最大连接数配置
- SHOW VARIABLES LIKE 'max_connections';
复制代码
3. 查看详细的连接信息
- 显示所有连接的详细信息(用户、来源IP、执行的SQL等)
4. 按用户分组统计连接数
- SELECT user, COUNT(*) as connections
- FROM information_schema.processlist
- GROUP BY user;
复制代码
5. 查看连接数使用率
- SELECT
- (SELECT VARIABLE_VALUE
- FROM performance_schema.global_status
- WHERE VARIABLE_NAME = 'Threads_connected') AS current_connections,
-
- (SELECT VARIABLE_VALUE
- FROM performance_schema.global_variables
- WHERE VARIABLE_NAME = 'max_connections') AS max_connections,
-
- ROUND((SELECT VARIABLE_VALUE
- FROM performance_schema.global_status
- WHERE VARIABLE_NAME = 'Threads_connected') /
- (SELECT VARIABLE_VALUE
- FROM performance_schema.global_variables
- WHERE VARIABLE_NAME = 'max_connections') * 100, 2) AS connection_usage_rate;
复制代码
6. 查看不同状态的连接数
- SELECT command, COUNT(*)
- FROM information_schema.processlist
- GROUP BY command;
复制代码
7. 查看空闲连接数(Sleep状态)
- SELECT COUNT(*)
- FROM information_schema.processlist
- WHERE command = 'Sleep';
复制代码
注意事项:
- 需要至少 PROCESS 权限才能查看所有连接
- 生产环境连接数接近 max_connections 时需要扩容或优化
- 长时间 Sleep 的连接可以考虑适当调低 wait_timeout 参数
如果需要终止连接,可以使用:- KILL [connection_id]; -- 从SHOW PROCESSLIST结果中获取ID
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |