MySQL hiển thị trạng thái - kết nối hoạt động hay tổng số?


206

Khi tôi chạy, show status like 'Con%'nó hiển thị số lượng kết nối, là 9972 và không ngừng tăng lên. Đây có phải là một số lượng tích cực của các kết nối hoặc kết nối được thực hiện trong tổng số?

Câu trả lời:


401

Theo các tài liệu , nó có nghĩa là tổng số trong suốt lịch sử:

Connections

Số lần thử kết nối (thành công hay không) đến máy chủ MySQL.

Bạn có thể thấy số lượng kết nối hoạt động thông qua Threads_connectedbiến trạng thái:

Threads_connected

Số lượng các kết nối hiện đang mở.

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

... hoặc thông qua show processlistlệnh:

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)

Có một kết nối đại diện cho một người dùng? Vậy nếu có 200 người dùng trên một trang thực hiện truy vấn cơ sở dữ liệu sẽ là 200 kết nối?
Diego Queiroz

Vâng, ai đó có thể làm rõ nó. Tôi cũng có câu hỏi tương tự. Ngoài ra, các biến này có được đặt lại sau mỗi lần khởi động lại dịch vụ MySQL hoặc sau khi khởi động lại máy chủ không?
LonelyRogue

@Diego Queiroz Nó không đơn giản. Nếu cả nhà phát triển đều chú ý và nếu chỉ có 1 cơ sở dữ liệu cần được kết nối với mỗi người dùng, thì có, mỗi người trong số họ sẽ là một người dùng. Nhưng có thể có các tiện ích khác đang chạy hoặc dịch vụ sao lưu cũng sẽ cần kết nối.
Ryan Shillington

@LonelyRogue Có, sau khi máy chủ khởi động lại, mọi kết nối cần kết nối lại. Nhiều chương trình / thư viện sẽ tự động kết nối để số # kết nối có thể được lấp đầy nhanh chóng mà không cần làm gì rõ ràng. Nhưng MySQL sẽ không giữ bất kỳ kết nối cũ nào sau khi khởi động lại.
Ryan Shillington

134
SHOW STATUS WHERE `variable_name` = 'Threads_connected';

Điều này sẽ cho bạn thấy tất cả các kết nối mở.


17

Đây là tổng số kết nối đến máy chủ cho đến nay. Để tìm trạng thái kết nối hiện tại, bạn có thể sử dụng

mysqladmin -u -p trạng thái mở rộng | grep -wi 'thread_connected \ | chủ đề_rucky' | awk '{in $ 2, $ 4}'

Điều này sẽ cho bạn thấy:

Threads_connected 12

Threads_running 1  

Threads_connected: Number of connections

Threads_running: connections currently running some sql

13

Để xem danh sách đầy đủ hơn, bạn có thể chạy:

show session status;

hoặc là

show global status;

Xem liên kết này để hiểu rõ hơn về cách sử dụng.

Nếu bạn muốn biết chi tiết về cơ sở dữ liệu, bạn có thể chạy:

status;

11

Bạn cũng có thể làm

SHOW STATUS WHERE `variable_name` = 'Max_used_connections';

1
max_used_connectionscũng hữu ích
coolnodje

3

Để kiểm tra các kết nối tối đa được phép, bạn có thể chạy truy vấn sau:

SHOW VARIABLES LIKE "max_connections";

Để kiểm tra số lượng kết nối hoạt động, bạn có thể chạy truy vấn sau:

SHOW VARIABLES LIKE "max_used_connections";

Hy vọng nó giúp.



-1

Nó phải là số lượng kết nối hoạt động hiện tại. Chạy lệnh processlistđể đảm bảo.

URL để tham khảo: http://www.devdaily.com/blog/post/mysql/how-show-open-database-connections-mysql

EDIT: Số lượng kết nối DB được mở Vui lòng xem tại đây, số lượng chủ đề (kết nối) thực tế được mô tả ở đây!


2
Tôi đã tìm thấy các liên kết tham khảo hữu ích. Ví dụ, show status like '%onn%';là một truy vấn rất hữu ích.
viddik13

1
Câu trả lời này là sai và nên được xóa. Xem các câu trả lời khác.
dr_

Từ dev.mysql.com/doc/refman/8.0/en/ Kẻ : "Số lần thử kết nối (thành công hay không) đến máy chủ MySQL". Nó KHÔNG phải là số lượng kết nối hoạt động.
PYB
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.