Говорят, что MySQL обрабатывает соединения, выделяя один поток для каждого соединения с сервером, а MySQL - это единый процесс с несколькими потоками.
Теперь в моем локальном хосте.
Есть два подключения к mysql.
sudo ps -el |grep mysql
4 S 0 892 1 0 80 0 - 1084 - ? 00:00:00 mysqld_safe
4 S 111 1338 892 0 80 0 - 172432 - ? 00:00:21 mysqld
0 S 1000 14903 14892 0 80 0 - 27406 - pts/1 00:00:00 mysql
0 S 1000 14937 14922 0 80 0 - 27375 - pts/2 00:00:00 mysql
Давайте поищем в дереве ps 892.
pstree 892 -p
mysqld_safe(892)───mysqld(1338)─┬─{mysqld}(1361)
├─{mysqld}(1362)
├─{mysqld}(1363)
├─{mysqld}(1364)
├─{mysqld}(1365)
├─{mysqld}(1366)
├─{mysqld}(1367)
├─{mysqld}(1368)
├─{mysqld}(1369)
├─{mysqld}(1370)
├─{mysqld}(1477)
├─{mysqld}(1478)
├─{mysqld}(1479)
├─{mysqld}(1480)
├─{mysqld}(1500)
├─{mysqld}(1518)
├─{mysqld}(2611)
└─{mysqld}(11598)
Есть ли потоки 14903 и 14937 и какому процессу они принадлежат? Это означает, что сервер MySQL обрабатывает соединения, выделяя один поток на каждое соединение с сервером.
Теперь для процесса 14903 на стороне клиента mysql сервер mysql выделяет один поток для соединения, теперь какой из них в диапазоне 1361-1370 или диапазоне 1477-1499 или 1500, 1518,2611,11598 обрабатывает соединение 14903?
Выход ps -ef | grep mysql
ясно показывает, что эти процессы являются клиентами mysql
0 S 1000 14903 14892 0 80 0 - 27406 - pts/1 00:00:00 mysql
0 S 1000 14937 14922 0 80 0 - 27375 - pts/2 00:00:00 mysql
Серверный процесс заканчивается d
письмо.
Вам нужно различать mysqld
и mysql
. Последний является клиент программа, которую вы используете для управления сервером.