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.