Hướng dẫn sử dụng mytop – công cụ dòng lệnh dạng top giám sát MySQL/MariaDB real-time, viết bởi Jeremy Zawodny (Perl).
Yêu cầu
- MySQL/MariaDB server chạy.
- Perl modules:
DBI,DBD::mysql,Term::ReadKey,Getopt::Long.
Cài trên Debian/Ubuntu:
# sudo apt install mytop libdbi-perl libdbd-mysql-perl libterm-readkey-perl
Trên RHEL/CentOS/Fedora:
# sudo dnf install mytop perl-DBI perl-DBD-Mysql perl-TermReadKey
Chạy mytop
# mytop -h dbserver -u dbuser -p dbpassword
Thay dbserver, dbuser, dbpassword bằng thông tin thực. Có thể dùng file ~/.mytop config:
user=dbuser
pass=dbpassword
host=dbserver
db=appdb
delay=5
port=3306
socket=/var/run/mysqld/mysqld.sock
batchmode=0
header=1
color=1
Sau đó chỉ cần chạy mytop.
Giao diện mytop (ví dụ)
MySQL on dbserver (5.0.37) up 50+17:53:46 [13:20:38]
Queries: 2.5G qps: 609 Slow: 0.0 Se/In/Up/De(%): 01/00/00/00
Key Efficiency: 99.8% Bps in/out: 0.0/ 0.0
Id User Host/IP DB Time Cmd Query or State
-- ---- ------- -- ---- --- --------------
9570443 dbuser 192.168.10.9 appdb 0 Prepar
9575575 dbuser 192.168.10.9 appdb 0 Sleep
9576920 dbuser 192.168.10.9 appdb 0 Sleep
9593343 dbuser 192.168.10.4 appdb 0 Sleep
9601720 dbuser 192.168.10.3 appdb 0 Query show full processlist
...
Phím tắt trong mytop
| Phím | Chức năng |
|---|---|
| ? | Trợ giúp |
| q | Thoát |
| s | Chuyển đổi hiển thị query đầy đủ |
| h | Chuyển đổi hiển thị header |
| u | Lọc theo user |
| d | Lọc theo database |
| k | Kill query (cần quyền SUPER) |
| P | Tạm dừng/tiếp tục refresh |
| Space | Làm mới ngay |
Công cụ thay thế hiện đại
- innotop: Mạnh hơn, tập trung InnoDB, hỗ trợ nhiều server, mode interactive tốt hơn.
- pmm (Percona Monitoring and Management): Web UI, đồ họa, alerting, lưu trữ lịch sử – chuẩn production.
- MySQL Workbench: GUI, có tab "Server Status" & "Performance Reports".
- Prometheus + Grafana + mysqld_exporter: Stack monitoring chuẩn cloud-native.