mysql:查看到给定数据库的所有打开的连接?


122

使用mysql的管理权限,如何查看到服务器中特定数据库的所有打开的连接?

Answers:


168

该命令是

SHOW PROCESSLIST

不幸的是,它没有缩小参数。如果需要它们,可以从命令行执行:

mysqladmin processlist | grep database-name

23
mysqladmin -i 1 processlist每秒刷新一次输出。
chanux 2014年

5
如果您需要认证mysqladmin --user=[USERNAME] --password=[PASSWORD] -i 1 processlist
Tom Jenkinson 2014年

2
@TomJenkinson我通常不使用它,因为我不希望密码出现在命令行历史记录或进程列表中(ps aux)
David Rabinowitz 2014年

作为@chanux的替代产品,输出imho稍微更干净watch -n1 mysqladmin processlist
Josiah

64

您还可以使用:

mysql> show status like '%onn%';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| Aborted_connects         | 0     |
| Connections              | 303   |
| Max_used_connections     | 127   |
| Ssl_client_connects      | 0     |
| Ssl_connect_renegotiates | 0     |
| Ssl_finished_connects    | 0     |
| Threads_connected        | 127   |
+--------------------------+-------+
7 rows in set (0.01 sec)

随意使用 Mysql-server-status-variablesToo-many-connections-problem问题


2
无论如何,它不区分大小写,为什么%onn%而不是%conn%
Pacerier,2015年

当然,您可以使用%conn%代替%onn%。是的,大多数情况下不区分大小写。对于区分大小写,请参阅dev.mysql.com/doc/refman/5.0/en/...
wiseland

1
这显示了统计/历史数据。问题是关于当前打开的连接。
马修(马修)

32

这应该可以解决最新的MySQL版本:

SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE DB = "elstream_development";


3
这是唯一正确的方法,除了选择的方法之外,可以使用SQL代替来完成mysqladmin
德累斯顿

2
谢谢,这是我想要的答案。

1
这个答案非常有帮助,显示所有连接及其查询,这对我来说可以帮上大忙。
哈马德·汗

10

您可以调用MySQL show status命令

显示类似“ Conn%”的状态;

有关更多信息,请阅读显示打开的数据库连接。


3
抱歉,此解决方案仅显示一个值。我更喜欢命令“显示状态,例如'%onn%';”。在相同的引用网页中。
Raul Luna

@RaulLuna,无论如何都不区分大小写,为什么%onn%而不是%conn%
Pacerier,2015年

@Pacerier不仅如此:万一“连接”一词出现在较大的词(例如max_used_connections)中,以防万一。当然,您可以使用显示状态,例如'%conn%'
Raul Luna 2015年

@RaulLuna,如果“连接”这个词出现较大的单词的一部分,无论是%onn%%conn%仍然可以工作。没有不同。
Pacerier

1
为什么要标记?它不显示当前打开的连接。
詹姆斯


3

在MySql中,以下查询应显示打开的连接总数:

show status like 'Threads_connected';

2

如果您正在运行* nix系统,请同时考虑mytop

要将结果限制为一个数据库,请在运行时按“ d”,然后输入数据库名称。


这个应用程式还不是在show processlist内部使用吗?
Pacerier,2015年

我相信是的。mytop只是通过过滤选项巧妙地显示了信息。过去,我在分析性能问题时充分利用了它。此外,在紧急情况下登录到计算机,运行mytop并立即查看发生了什么情况的速度更快。就像运行“顶部”。
Pryo 2015年

通过使用更多组件,您将面临更多错误。由于show processlist的输出令人满意,您为什么需要mytop
Pacerier

2
当“ ps aux”满足时,为什么要使用“ top”?
Pryo

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.