2009-10-25 40 views

Trả lời

120

Lệnh là

SHOW PROCESSLIST 

Thật không may, it has no narrowing parameters. Nếu bạn cần chúng, bạn có thể làm điều đó từ dòng lệnh:

mysqladmin processlist | grep database-name 
+17

'mysqladmin -i 1 processlist' để làm mới đầu ra mỗi giây. – chanux

+4

nếu bạn cần xác thực 'mysqladmin --user = [USERNAME] --password = [PASSWORD] -i 1 processlist' –

+2

@TomJenkinson Tôi thường không sử dụng vì tôi không muốn mật khẩu xuất hiện trong lịch sử dòng lệnh hoặc trong danh sách quá trình (ps aux) –

9

Bạn có thể gọi MySQL chương lệnh tình trạng

tình trạng chương trình như 'Conn%';

Để biết thêm thông đọc Show open database connections

+3

Xin lỗi, nhưng giải pháp này chỉ hiển thị một giá trị. Tôi thích lệnh "hiển thị trạng thái như '% onn%';" trong cùng một trang web được giới thiệu. –

+0

@RaulLuna, Đó là trường hợp không nhạy cảm anyway, Tại sao '% onn%' thay vì '% conn%'? – Pacerier

+0

@Pacerier Đó là nhiều hơn thế: nó chỉ là trong trường hợp từ "kết nối" xuất hiện như là một phần của một từ lớn hơn (max_used_connections, ví dụ). Tất nhiên bạn có thể sử dụng trạng thái hiển thị như '% conn%' –

0

Trong trình duyệt truy vấn nhấp chuột phải vào cơ sở dữ liệu và chọn processlist

42

Như bạn cũng có thể sử dụng:

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) 

thoải mái sử dụng Mysql-server-status-variables hoặc Too-many-connections-problem

+1

Trường hợp này không phân biệt chữ hoa chữ thường, Tại sao'% onn% 'thay vì'% conn % '? – Pacerier

+0

Chắc chắn bạn có thể sử dụng% conn% thay vì% onn%. Và có, chủ yếu là trường hợp không nhạy cảm. Đối với trường hợp nhạy cảm, vui lòng xem https://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html – wiseland

+0

Điều này hiển thị dữ liệu thống kê/lịch sử. Câu hỏi đặt ra là về các kết nối hiện đang mở. –

2

Nếu bạn đang chạy hệ thống * nix, hãy cân nhắc mytop.

Để giới hạn kết quả cho một cơ sở dữ liệu, hãy bấm "d" khi nó chạy rồi gõ vào tên cơ sở dữ liệu.

+0

Không phải ứng dụng này cũng sử dụng 'hiển thị processlist' nội bộ? – Pacerier

+0

Tôi tin là vậy. mytop chỉ trình bày thông tin gọn gàng với các tùy chọn lọc. Tôi đã thực hiện rất nhiều việc sử dụng nó trong quá khứ trong khi phân tích các vấn đề hiệu suất. Ngoài ra, nó nhanh hơn trong trường hợp khẩn cấp để đăng nhập vào một máy tính, chạy mytop và ngay lập tức xem những gì đang xảy ra. Giống như chạy "top". – Pryo

+0

Bằng cách sử dụng nhiều thành phần hơn, bạn đang tự phơi mình ra nhiều lỗi hơn. Vì 'hiển thị các yêu cầu đầu ra của processlist', tại sao bạn cần' mytop' cho? – Pacerier

21

Điều đó sẽ làm các trick cho các phiên bản mới nhất của MySQL:

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

+2

Đây là chỉ có một chính xác, ngoài một lựa chọn, có thể được thực hiện bằng cách sử dụng SQL thay vì 'mysqladmin'. – dresende

+1

Cảm ơn, đây là câu trả lời tôi muốn. – pinkvoid

1

SQL: hiển thị đầy đủ processlist;

Đây là những gì mà Bàn làm việc của MySQL thực hiện.

0

Trong MySql, truy vấn sau đây sẽ hiển thị tổng số các kết nối mở:

show status like 'Threads_connected'; 
Các vấn đề liên quan