Показ шоу MySQL - активні або загальні з'єднання?


206

Під час запуску show status like 'Con%'він показує кількість підключень, яка становить 9972 і постійно зростає. Це загальна кількість активних з'єднань чи з'єднань?

Відповіді:


401

Згідно з документами , це означає загальну кількість за всю історію:

Connections

Кількість спроб підключення (успішно чи ні) до сервера MySQL.

Ви можете бачити кількість активних з'єднань через Threads_connectedзмінну стану:

Threads_connected

Кількість відкритих на даний момент з'єднань.

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

... або через show processlistкоманду:

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)

Чи представляє з'єднання користувача? Тож якщо на сторінці 200 користувачів, які роблять запити до бази даних, буде 200 підключень?
Дієго

Так, може хтось це уточнив. У мене теж питання. Також, чи змінюються ці змінні після кожного перезавантаження служб MySQL або після перезавантаження сервера?
LonelyRogue

@Diego Queiroz Це не так просто. Якщо розробник приділяв пильну увагу і якщо для кожного користувача потрібно підключити лише 1 базу даних, то так, кожна з них буде користувачем. Але можливо, є й інші утиліти, які працюють або створюють резервні копії, які також потрібно буде підключити.
Райан Шиллінгтон

@LonelyRogue Так, після перезавантаження сервера кожне з'єднання потрібно знову підключити. Багато програм / бібліотек автоматично з’єднаються, тому кількість з'єднань може швидко заповнитись, не роблячи явно нічого. Але MySQL не буде зберігати старі з'єднання після перезавантаження.
Райан Шиллінгтон

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

Це покаже вам усі відкриті з'єднання.


17

Це загальна кількість підключень до сервера до цього часу. Щоб знайти поточний стан з'єднання, ви можете використовувати

mysqladmin -u -p розширений статус | grep -wi 'теми_поєднані \ | теми_рунінг' | awk "{print $ 2, $ 4}"

Це покаже вам:

Threads_connected 12

Threads_running 1  

Threads_connected: Number of connections

Threads_running: connections currently running some sql

13

Щоб побачити більш повний список, ви можете запустити:

show session status;

або

show global status;

Перейдіть за цим посиланням, щоб краще зрозуміти використання.

Якщо ви хочете дізнатися деталі бази даних, можете запустити:

status;

11

Ви також можете зробити

SHOW STATUS WHERE `variable_name` = 'Max_used_connections';

1
max_used_connectionsтакож корисно
coolnodje

3

Для перевірки максимально дозволених з'єднань можна запустити наступний запит:

SHOW VARIABLES LIKE "max_connections";

Щоб перевірити кількість активних з'єднань, ви можете запустити наступний запит:

SHOW VARIABLES LIKE "max_used_connections";

Сподіваюся, це допомагає.



-1

Це має бути поточна кількість активних з'єднань. Виконайте команду, processlistщоб переконатися.

URL для довідки: http://www.devdaily.com/blog/post/mysql/how-show-open-database-connections-mysql

РЕДАКТУВАННЯ: Кількість відкритих з'єднань БД Будь ласка, подивіться тут, тут описана фактична кількість потоків (з'єднань)!


2
Я вважаю, що посилання є корисними. Наприклад, show status like '%onn%';дуже корисний запит.
viddik13

1
Ця відповідь невірна і її слід видалити. Дивіться інші відповіді.
dr_

Від dev.mysql.com/doc/refman/8.0/en/… : "Кількість спроб підключення (успішно чи ні) до сервера MySQL". Це НЕ кількість активних з'єднань.
PYB
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.