Liệt kê người dùng MySQL đang đăng nhập
Để liệt kê người dùng MySQL đang đăng nhập, bạn có thể sử dụng bất kỳ phương pháp nào sau:
Phương pháp đầu tiên
Sử dụng INFORMATION_SCHEMA.PROCESSLIST
select * from INFORMATION_SCHEMA.PROCESSLIST;
Phương pháp thứ hai
Bạn cũng có thể dùng lệnh SHOW PROCESSLIST. Cú pháp như sau:
SHOW PROCESSLIST;
Triển khai cú pháp trên để liệt kê người dùng MySQL đang đăng nhập:
mysql> select * from information_schema.processlist;
Điều này sẽ tạo ra đầu ra sau:
+----+-----------------+-----------------+------+---------+--------+-----------------------------+---------------------------------------------+ | 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 rows in set (0.00 sec)
Bây giờ, hãy xem truy vấn thứ hai:
mysql> show processlist;
Điều này sẽ tạo ra đầu ra sau:
+----+-----------------+-----------------+------+---------+--------+-----------------------------+------------------+ | 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 | +----+-----------------+-----------------+------+---------+--------+-----------------------------+------------------+ 2 rows in set (0.19 sec)
Giải thích các cột quan trọng:
- ID: ID kết nối (connection ID), dùng để
KILLnếu cần. - USER: Tên tài khoản MySQL.
- HOST: Địa chỉ client kết nối.
- DB: Database đang sử dụng.
- COMMAND: Loại lệnh (Query, Sleep, Daemon, ...).
- TIME: Thời gian (giây) ở trạng thái hiện tại.
- STATE: Trạng thái chi tiết.
- INFO: Câu truy vấn đang thực thi (nếu có).