MySQL показывает статус - активное или общее количество подключений?


206

Когда я запускаю, show status like 'Con%'он показывает количество соединений, которое составляет 9972 и постоянно растет. Это активное число соединений или соединений, выполненных в общей сложности?

Ответы:


402

Согласно документам , это означает общее количество за всю историю:

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 Services или после перезагрузки Сервера?
— LonelyRogue

@ Диего Кейроз Это не так просто. Если разработчик обратил пристальное внимание и если есть только 1 база данных, к которой нужно подключиться для каждого пользователя, то да, каждая из них будет пользователем. Но возможно, что есть другие запущенные утилиты или службы резервного копирования, которые также должны будут подключиться.
— Райан Шиллингтон

@LonelyRogue Да, после перезапуска сервера каждое соединение должно быть переподключено. Многие программы / библиотеки будут автоматически подключаться, так что количество соединений может быстро заполниться без явного выполнения каких-либо действий. Но MySQL не будет сохранять старые соединения после перезапуска.
— Райан Шиллингтон

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

Это покажет вам все открытые соединения.


17

Это общее количество подключений к серверу до сих пор. Чтобы узнать текущий статус соединения, вы можете использовать

mysqladmin -u -p расширенный статус | grep -wi 'threads_connected \ | threads_running' | 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;


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.