Thiết kế bằng Python thuần, dựa trên thư viện curses có sẵn, không cần cài đặt thêm bất kỳ dependency phức tạp nào. Chỉ cần một dòng lệnh, bạn có ngay giao diện giám sát real-time với đầy đủ thông tin processlist, buffer pool, QPS, cảnh báo truy vấn chậm, phân tích khóa (lock waits), deadlock và health advisor — ngay cả trên VPS nhỏ nhất.
Cài đặt InitTop
Đăng nhập vào VPS Ubuntu bằng tài khoản root:
ssh root@your-server-ip
Sau đó chạy lệnh cài đặt duy nhất:
curl -sSL https://inithtml.com/inittop/install.sh | bash
Script tự động cài đặt python3-mysql.connector, tải engine và auto-launch ngay lập tức nếu phát hiện môi trường InitOps.
Thông tin phiên bản
- Phiên bản: 1.2.0
- Cập nhật: 2026-07-04
Quy trình sử dụng
- Chạy lệnh cài đặt: Script tự động detect MariaDB qua Unix socket hoặc TCP fallback.
- Nhập password: Nếu không có
MYSQL_PWDenv var, tool tự động prompt ẩn (hidden input, không lộ trong history). - Quan sát real-time: Processlist cập nhật mỗi 2 giây, sắp xếp theo thời gian thực thi.
InitTop hiển thị những gì?

- Processlist thời gian thực — Danh sách query đang chạy, sắp xếp theo
TIMEgiảm dần. PID, USER, DB, COMMAND, TIME, STATE và SQL đầy đủ. - Buffer Pool Metrics — Hit rate (tỷ lệ cache hit) và Used percentage (mức độ lấp đầy buffer pool) hiển thị bằng thanh tiến trình trực quan.
- Connections Overview — Connected, Running, Slow queries và Locked processes — tổng quan một cái nhìn.
- QPS (Queries Per Second) — Tính toán real-time dựa trên delta
QueriestừSHOW GLOBAL STATUS, kèm sparkline 30 giây. - Index Hint Banner — Tự động phát hiện bảng lớn (>500 rows) không có index và gợi ý lệnh
ALTER TABLE ... ADD INDEX. - InnoDB Lock Waits — Phím T hiển thị ngay ai đang bị block, ai đang giữ lock, đã chờ bao lâu.
- Deadlock Viewer — Phím D trích xuất phần
LATEST DETECTED DEADLOCKtừSHOW ENGINE INNODB STATUS. - Health Advisor — Phím A phân tích 10 chỉ số then chốt (buffer pool hit, tmp table on disk, thread cache miss, table cache hit, peak connections, aborted connects, InnoDB log waits, joins w/o index, sort merge passes, slow queries) và đưa ra gợi ý tuning cụ thể.
- Query History & Fingerprint — Phím H theo dõi các query pattern lặp lại trong phiên làm việc, phát hiện recurring load.
- EXPLAIN mở rộng — Phím e hoặc double-click chuột hỗ trợ EXPLAIN cho SELECT, UPDATE, DELETE, INSERT, REPLACE. Tự động highlight full scan, filesort, temporary table bằng màu đỏ.
- Mouse Support — Click chọn row, double-click để EXPLAIN ngay trên terminal hỗ trợ.
Phân loại màu trực quan
InitTop sử dụng palette 8 màu an toàn, hiển thị rõ ràng trên mọi terminal:
- RED bold — Truy vấn chậm (≥
--slow-threshold) hoặc đang bị khóa bảng (Table/Row Locks). Trong EXPLAIN: full scan, filesort, temporary table. - YELLOW bold — Truy vấn trung bình (≥ 1 giây).
- GREEN bold — Truy vấn nhanh, đang active.
- DIM white — Sleeping connection (không tiêu tốn tài nguyên).
- White on blue — Header bar và thanh trạng thái, phong cách
htopclassic. - White on black — Dòng đang được chọn (selected row).
Điều khiển từ bàn phím
- ↑ / ↓ hoặc k / j — Di chuyển giữa các process.
- Mouse click — Chọn row trực tiếp.
- Mouse double-click — EXPLAIN row đang chọn.
- K (capital) — Kill query đang chọn (
KILL QUERY <pid>), có xác nhận y/N. - X (capital) — Kill connection đang chọn (
KILL CONNECTION <pid>), có xác nhận y/N. - e — EXPLAIN query đang chọn (SELECT / UPDATE / DELETE / INSERT / REPLACE).
- T (capital) — InnoDB lock waits: ai đang bị block, ai đang block.
- D (capital) — Xem deadlock gần nhất từ InnoDB status.
- A (capital) — Health advisor: 10 chỉ số tuning + gợi ý khắc phục.
- / — Lọc processlist theo user, database hoặc nội dung query.
- ESC — Xóa bộ lọc hoặc đóng overlay.
- s — Chuyển đổi cột sắp xếp: TIME → USER → DB → CMD.
- p — Tạm dừng / tiếp tục auto-refresh.
- r — Refresh ngay lập tức.
- W (capital) — Export các slow query hiện tại ra file log.
- H (capital) — Mở overlay query history (top recurring fingerprints).
- C (capital) — Xóa query history.
- ? — Mở màn hình trợ giúp.
- q — Thoát InitTop.
Trong các overlay T / D / A: j / k để scroll, phím bất kỳ để đóng.
Kết nối linh hoạt
InitTop hỗ trợ cả hai phương thức kết nối, tự động ưu tiên Unix socket khi phát hiện:
# Unix socket — khuyến nghị cho InitOps (nhanh hơn, bảo mật hơn)
inittop -u root -S /run/mysqld/mysqld.sock
# TCP fallback — cho môi trường remote hoặc custom setup
inittop -u root -H 127.0.0.1 -P 3306
# Automation/scripting — dùng env var, không prompt
MYSQL_PWD=secret inittop -u root -S /run/mysqld/mysqld.sock
# Non-interactive JSON mode — pipe-friendly cho monitoring stack
inittop -u root -S /run/mysqld/mysqld.sock --json --json-count 10
# Monochrome mode cho terminal cơ bản
inittop -u root -S /run/mysqld/mysqld.sock --no-color
Tại sao không dùng mytop hay innotop?
- mytop — Viết bằng Perl từ thập niên 2000, giao diện lỗi thời, khó cài trên OS mới.
- innotop — Cũng Perl-based, phụ thuộc nhiều module CPAN, config phức tạp.
- Percona Toolkit — Quá nặng cho nhu cầu giám sát hàng ngày, đòi hỏi kiến thức chuyên sâu.
- InitTop — Python 3 duy nhất, zero dependency ngoài
mysql-connector-python, single-file executable, chạy ngay saucurl | bash. Hỗ trợ mouse, JSON mode, lock/deadlock analysis và health advisor ngay trong TUI.
Tương thích hệ thống
- Ubuntu Server 20.04+ / 22.04+ / 24.04 LTS.
- MySQL 5.7+ / 8.0+ hoặc MariaDB 10.3+ / 10.6+ / 10.11+.
- Terminal hỗ trợ 8 màu ANSI cơ bản (PuTTY, Bitvise, iTerm, GNOME Terminal, v.v.).
- Đòi hỏi quyền đọc
information_schema.PROCESSLIST,information_schema.INNODB_TRX,information_schema.INNODB_LOCK_WAITSvàSHOW GLOBAL STATUS/SHOW ENGINE INNODB STATUS.
Kết luận
InitTop v1.2.0 đơn giản hóa việc giám sát cơ sở dữ liệu — từ việc phải đoán đoán “tại sao CPU 100%” đến việc nhìn thấy chính xác query nào đang chạy chậm, cần kill hay cần index, ai đang bị lock, deadlock vừa xảy ra ở đâu, và hệ thống cần tuning gì. Một công cụ production-ready, không đòi hỏi kiến thức DBA chuyên sâu, và đặc biệt tối ưu cho môi trường đã được triển khai bằng InitOps.
Lệnh cài đặt nhanh
curl -sSL https://inithtml.com/inittop/install.sh | bash
Bình luận