据说,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让我们搜索892's ps树。
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's连接?
发布于 2017-02-23 11:59:50
您需要区分mysqld和mysql。后者是用来管理服务器的客户端程序。
发布于 2017-02-23 12:00:00
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字母结束。
https://serverfault.com/questions/834430
复制相似问题