บทความนี้แนะนำ 2 วิธีในการดูรายชื่อ User ที่เชื่อมต่ออยู่กับ MySQL Server ขณะนี้ (Current Connections)
วิธีที่ 1: ใช้ INFORMATION_SCHEMA.PROCESSLIST
mysql> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
ผลลัพธ์ตัวอย่าง
+----+-----------------+-----------------+------+---------+--------+-----------------------------+---------------------------------------------+
| ID | USER | HOST | DB | COMMAND | TIME | STATE | INFO |
+----+-----------------+-----------------+------+---------+--------+-----------------------------+---------------------------------------------+
| 8 | root | localhost:50252 | web | Query | 0 | executing | select * from information_schema.processlist |
| 4 | event_scheduler | localhost | NULL | Daemon | 301832 | Waiting for next activation | NULL |
+----+-----------------+-----------------+------+---------+--------+-----------------------------+---------------------------------------------+
วิธีที่ 2: ใช้ SHOW PROCESSLIST (สั้นกว่า)
mysql> SHOW PROCESSLIST;
ผลลัพธ์ตัวอย่าง
+----+-----------------+-----------------+------+---------+--------+-----------------------------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+-----------------+-----------------+------+---------+--------+-----------------------------+------------------+
| 4 | event_scheduler | localhost | NULL | Daemon | 301842 | Waiting for next activation | NULL |
| 8 | root | localhost:50252 | web | Query | 1 | starting | show processlist |
+----+-----------------+-----------------+------+---------+--------+-----------------------------+------------------+
คำอธิบายคอลัมน์สำคัญ:
ID- Connection ID (ใช้KILL idเพื่อตัดการเชื่อมต่อ)USER- ชื่อ User ที่ LoginHOST- IP/Port ของ ClientDB- Database ที่ใช้งานอยู่COMMAND- สถานะคำสั่ง (Sleep, Query, Daemon, etc.)TIME- วินาทีในสถานะปัจจุบันSTATE- รายละเอียดสถานะ (executing, sending data, locked, etc.)INFO- คำสั่ง SQL ที่กำลังรัน (ถ้ามี)
สิทธิ์: ต้องมีสิทธิ์ PROCESS ถึงจะเห็น Process ของ User อื่น (Superuser เห็นทั้งหมด)