Cách xem PROCESSLIST mysql

skins

New member
Tham gia
6 Tháng bảy 2024
Bài viết
18
Reaction score
0

I Tìm Hiểu​


Các lệnh bên dưới cho phép bạn giám sát và quản lý các tiến trình cũng như hiệu suất của cơ sở dữ liệu MySQL.

Bash:
mysqladmin processlist
mysqladmin proc stat
SHOW FULL PROCESSLIST;

II Cách Kiểm Tra Và Thực Hiện​


1. SHOW FULL PROCESSLIST;​

Lệnh này đã được giải thích ở trên. Nó hiển thị danh sách tất cả các tiến trình đang hoạt động trên MySQL, bao gồm các truy vấn đang chạy, trạng thái của chúng và các thông tin khác.

2. mysqladmin processlist​

Lệnh này là một cách khác để hiển thị danh sách các tiến trình trong MySQL nhưng được thực hiện từ command line thông qua công cụ mysqladmin.

Cú pháp:

Bash:
mysqladmin -u username -p processlist
  • Lệnh này sẽ yêu cầu nhập mật khẩu của tài khoản MySQL.
  • Kết quả hiển thị tương tự như lệnh SHOW FULL PROCESSLIST, nhưng được trình bày trực tiếp trên command line.
  • Ưu điểm của việc sử dụng mysqladmin là bạn có thể dễ dàng chạy lệnh từ hệ điều hành mà không cần đăng nhập vào MySQL.
Ví dụ:

Bash:
mysqladmin -u root -p processlist
Kết quả sẽ hiển thị tương tự:


+----+------+-----------+-------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+-------+---------+------+-------+------------------+
| 1 | root | localhost | test | Query | 0 | | SHOW PROCESSLIST |
| 2 | app | 192.168.1.2 | sales | Sleep | 10 | | |
+----+------+-----------+-------+---------+------+-------+------------------+

3. mysqladmin proc stat​

Lệnh này cũng sử dụng công cụ mysqladmin, nhưng nó hiển thị thêm một số thông tin về trạng thái MySQL.

Cú pháp:

Bash:
mysqladmin -u username -p proc stat
  • Lệnh này hiển thị danh sách các tiến trình cùng với các thông tin thống kê khác như số lượng truy vấn được thực hiện, số kết nối hiện tại, và số lỗi.
Ví dụ:

Bash:
mysqladmin -u root -p proc stat

Kết quả có thể là:

+----+------+-----------+-------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+-------+---------+------+-------+------------------+
| 1 | root | localhost | test | Query | 0 | | SHOW PROCESSLIST |
| 2 | app | 192.168.1.2 | sales | Sleep | 20 | | |
+----+------+-----------+-------+---------+------+-------+------------------+

Uptime: 3600 Threads: 3 Questions: 450 Slow queries: 2 Opens: 50 Flush tables: 1 Open tables: 20 Queries per second avg: 0.125

Trong đó:

  • Uptime: Thời gian MySQL đã chạy (tính bằng giây).
  • Threads: Số lượng kết nối hiện tại.
  • Questions: Tổng số lượng truy vấn đã được thực hiện từ khi MySQL khởi động.
  • Slow queries: Số lượng truy vấn chậm (dựa trên cấu hình long_query_time).
  • Opens: Số lượng bảng đã được mở.
  • Flush tables: Số lần bảng được làm sạch hoặc tải lại.
  • Queries per second avg: Trung bình số lượng truy vấn được thực hiện mỗi giây.
Lệnh này sẽ giúp bạn liên tục theo dõi các tiến trình đang chạy trong MySQL theo thời gian thực:

4. Sử dụng lệnh watch​


Bash:
watch -n 1 'mysql -e "show full processlist;"'

Giải thích lệnh:​

  • watch -n 1: Đây là lệnh Linux để chạy một lệnh khác theo chu kỳ thời gian định kỳ. Trong trường hợp này, -n 1 có nghĩa là chạy lại lệnh sau mỗi 1 giây.
  • mysql -e "show full processlist;": Đây là lệnh MySQL để hiển thị danh sách đầy đủ các tiến trình hiện tại.

Khi chạy lệnh này:​

  • Bạn sẽ thấy danh sách các tiến trình MySQL được cập nhật mỗi giây.
  • Điều này rất hữu ích khi bạn cần theo dõi các truy vấn nào đang chiếm tài nguyên, phát hiện truy vấn chạy lâu, hoặc kiểm tra hiệu suất cơ sở dữ liệu trong thời gian thực.

Khi nào nên sử dụng từng lệnh?​

  • SHOW FULL PROCESSLIST;: Sử dụng khi bạn đã đăng nhập vào MySQL và cần thông tin chi tiết về các tiến trình hiện tại.
  • mysqladmin processlist: Phù hợp khi bạn muốn kiểm tra tiến trình từ command line mà không cần vào MySQL console.
  • mysqladmin proc stat: Cung cấp thêm thông tin về trạng thái của máy chủ MySQL ngoài danh sách các tiến trình, hữu ích trong việc giám sát hiệu suất và trạng thái chung.
Ba lệnh này đều có giá trị khi giám sát MySQL, giúp bạn dễ dàng xác định và xử lý các vấn đề liên quan đến kết nối và truy vấn
 
Top Bottom