Pokaż status MySQL - aktywne czy łączne połączenia?

206

Po uruchomieniu show status like 'Con%'pokazuje liczbę połączeń, która wynosi 9972 i stale rośnie. Czy jest to aktywna liczba połączeń lub połączeń wykonanych łącznie?

Michael
źródło

Odpowiedzi:

401

Według dokumentów oznacza to całkowitą liczbę w historii:

Connections

Liczba prób połączenia (udanych lub nie) z serwerem MySQL.

Liczbę aktywnych połączeń możesz zobaczyć poprzez Threads_connectedzmienną statusu:

Threads_connected

Liczba aktualnie otwartych połączeń.

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

... lub za pomocą show processlistpolecenia:

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)
kiiwii
źródło
Czy połączenie reprezentuje użytkownika? Więc jeśli na stronie, na której jest 200 użytkowników, zapytania do bazy danych będą 200 połączeniami?
Diego Queiroz
Tak, czy ktoś może to wyjaśnić. Ja też mam to samo pytanie. Czy te zmienne są resetowane po każdym ponownym uruchomieniu usług MySQL lub po ponownym uruchomieniu serwera?
LonelyRogue
@Diego Queiroz To nie takie proste. Jeśli zarówno programista zwrócił szczególną uwagę i jeśli istnieje tylko jedna baza danych, z którą należy się połączyć na użytkownika, to tak, każda z nich będzie użytkownikiem. Ale możliwe jest, że działają inne narzędzia lub usługi tworzenia kopii zapasowych, które również będą musiały się połączyć.
Ryan Shillington
@LonelyRogue Tak, po ponownym uruchomieniu serwera każde połączenie musi zostać ponownie połączone. Wiele programów / bibliotek łączy się automatycznie, więc liczba połączeń może się szybko zapełnić bez wyraźnego działania. Ale MySQL nie zachowa żadnych starych połączeń po restarcie.
Ryan Shillington
134
SHOW STATUS WHERE `variable_name` = 'Threads_connected';

Spowoduje to wyświetlenie wszystkich otwartych połączeń.

mistahenry
źródło
17

Jest to łączna liczba połączeń z serwerem do tej pory. Aby znaleźć aktualny status połączenia, możesz użyć

mysqladmin -u -p status rozszerzony | grep -wi 'Thread_connected \ | Thread_Running' | awk „{drukuj 2 USD, 4 USD}”

To pokaże ci:

Threads_connected 12

Threads_running 1  

Threads_connected: Number of connections

Threads_running: connections currently running some sql
Pranab Sharma
źródło
13

Aby zobaczyć pełniejszą listę, możesz uruchomić:

show session status;

lub

show global status;

Zobacz ten link, aby lepiej zrozumieć użycie.

Jeśli chcesz poznać szczegóły dotyczące bazy danych, możesz uruchomić:

status;
Mugur „Bud” Chirica
źródło
11

Możesz też zrobić

SHOW STATUS WHERE `variable_name` = 'Max_used_connections';
saurabh
źródło
1
max_used_connectionsjest również przydatny
coolnodje
3

Aby sprawdzić maksymalną dozwoloną liczbę połączeń, możesz uruchomić następujące zapytanie:

SHOW VARIABLES LIKE "max_connections";

Aby sprawdzić liczbę aktywnych połączeń, możesz uruchomić następujące zapytanie:

SHOW VARIABLES LIKE "max_used_connections";

Mam nadzieję, że to pomoże.

Mujtaba
źródło
-1

Powinna to być bieżąca liczba aktywnych połączeń. Uruchom polecenie, processlistaby się upewnić.

Adres URL w celach informacyjnych: http://www.devdaily.com/blog/post/mysql/how-show-open-database-connections-mysql

EDYCJA: Liczba otwartych połączeń DB Proszę spojrzeć tutaj, rzeczywista liczba wątków (połączeń) została opisana tutaj!

ChrisH
źródło
2
Uważam, że linki referencyjne są przydatne. Na przykład show status like '%onn%';jest bardzo przydatnym zapytaniem.
viddik13
1
Ta odpowiedź jest błędna i powinna zostać usunięta. Zobacz inne odpowiedzi.
dr_
Od dev.mysql.com/doc/refman/8.0/en/… : „Liczba prób połączenia (udanych lub nie) z serwerem MySQL”. To NIE jest liczba aktywnych połączeń.
PYB,