Hướng dẫn mysql show running processes - mysql hiển thị các quy trình đang chạy

Nếu bạn đang chạy cơ sở dữ liệu MySQL trên máy chủ lưu trữ chuyên dụng của mình, bạn có thể muốn thấy trạng thái của nó theo các quy trình mà nó hiện đang chạy. Điều này sẽ cung cấp cho bạn ý tưởng về tải trên máy chủ cơ sở dữ liệu, điều này rất quan trọng nếu bạn có một cơ sở dữ liệu lớn hoặc một số cơ sở dữ liệu được phục vụ trên máy chủ của bạn. Nó cũng hữu ích để giúp xác định các vấn đề chính xác với các truy vấn đang chạy trên máy chủ.

Show

Bạn sẽ cần phải có quyền truy cập gốc vào máy chủ để sử dụng một trong hai báo cáo này.

Bạn có thời gian để đọc hướng dẫn đầy đủ của chúng tôi về cách hiển thị các quy trình MySQL không? Xem video đi bộ của chúng tôi.

Sử dụng WHM để hiển thị các quy trình MySQL

  1. Đăng nhập vào WHM
  2. Hướng dẫn mysql show running processes - mysql hiển thị các quy trình đang chạy

    Nhấp vào hiển thị các quy trình MySQL trong menu ở bên trái.Show MySQL Processes in the menu at left.

Bạn sẽ thấy bảng hiển thị các quy trình hiện có cho máy chủ lưu trữ chuyên dụng của bạn. Các mục này được chi tiết dưới đây:

TÔIĐây là số nhận dạng của quá trình chạy
Người sử dụngNgười dùng chạy quy trình trong cơ sở dữ liệu
DbCơ sở dữ liệu đang được sử dụng với quy trình
Yêu cầuLệnh hiện đang được thực thi trong quá trình
Thời gianThời gian thực hiện theo quy trình
tiểu bangTrạng thái của quá trình
Thông tinThông tin về quy trình

Bạn cũng có thể giết các quy trình MySQL.

Nếu bạn quen thuộc với việc sử dụng MySQL trong dòng lệnh, bạn cũng có thể nhận báo cáo về các quy trình chạy ở đó. Các hướng dẫn sau đây cho thấy cách truy cập nó. Lưu ý rằng bạn sẽ cần quyền truy cập phù hợp trong SSH để sử dụng lệnh MySQL cho báo cáo này.

  1. Đăng nhập vào SSH.
  2. Nhập MySQL để vào dòng lệnh MySQL.MYSQL to get into the mysql command line.
  3. Hướng dẫn mysql show running processes - mysql hiển thị các quy trình đang chạy

    Loại hiển thị danh sách quy trình; Để xem các quy trình hiện tại trên máy chủ.show processlist; in order to see current processes on the server.

Bạn có thấy rằng bạn chỉ cần có thời gian để tự quản lý máy chủ của mình không? Lưu trữ VPS được quản lý của chúng tôi là giải pháp hoàn hảo.

Nhà văn giám sát Arnel I Content Writer I

Là một nhà văn cho việc lưu trữ inmotion, Arnel luôn nhằm chia sẻ thông tin hữu ích và cung cấp kiến ​​thức sẽ giúp giải quyết các vấn đề và hỗ trợ trong việc đạt được các mục tiêu. Anh ấy cũng tích cực với các nhóm và sự kiện cộng đồng địa phương WordPress từ năm 2004.

Thêm các bài viết của Arnel

Trang chủ / Hiển thị các truy vấn đang chạy trong MySQLShowing running queries in MySQL

MySQL có một câu lệnh gọi là "Danh sách xử lý hiển thị" để hiển thị cho bạn các truy vấn đang chạy trên máy chủ MySQL của bạn. Điều này có thể hữu ích để tìm hiểu những gì đang diễn ra nếu có một số truy vấn lớn, dài tiêu thụ nhiều chu kỳ CPU hoặc nếu bạn gặp lỗi như "quá nhiều kết nối".

Cú pháp đơn giản là:

show processlist;

sẽ xuất ra một cái gì đó dọc theo các dòng sau:

+--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
| Id     | User   | Host      | db     | Command | Time | State                | Info                                                                                                 |
+--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
| 708163 | root   | localhost | NULL   | Query   |    0 | NULL                 | show processlist                                                                                     |
| 708174 | test   | localhost | test   | Query   |    2 | Copying to tmp table | select dist.name, dist.filename, count(*)
from orders_header h
inner join orders_detail d on h.ord |
+--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

Cột "Thông tin" hiển thị truy vấn đang được thực thi hoặc null nếu hiện tại không có gì xảy ra. Khi chạy "Show ProcessList", nó sẽ chỉ hiển thị 100 ký tự đầu tiên của truy vấn. Để hiển thị toàn bộ truy vấn chạy "Hiển thị toàn bộ quy trình" thay thế.

Chạy lệnh trên từ giao diện dòng lệnh MySQL với a; Phân đoạn có thể gây khó khăn cho việc đọc đầu ra, đặc biệt là nếu các truy vấn dài và kéo dài nhiều dòng. Thay vào đó, sử dụng D Delimiter sẽ hiển thị dữ liệu theo định dạng dễ đọc hơn, mặc dù nó tiêu thụ nhiều hàng hơn trong thiết bị đầu cuối của bạn. Điều này rất hữu ích khi chạy "Hiển thị toàn bộ quy trình" bởi vì một số truy vấn được hiển thị có thể khá dài.

mysql> show processlistG

*************************** 6. row ***************************
     Id: 708163
   User: root
   Host: localhost
     db: NULL
Command: Query
   Time: 0
  State: NULL
   Info: show processlist
*************************** 7. row ***************************
     Id: 708174
   User: test
   Host: localhost
     db: test
Command: Query
   Time: 3
  State: Copying to tmp table
   Info: select dist.name, dist.filename, count(*)
from orders_header h
inner join orders_detail d on h.ord
2 rows in set (0.00 sec)

Nếu bạn đang chạy như một người dùng thông thường không có đặc quyền "quy trình", thì "Hiển thị Danh sách xử lý" sẽ chỉ hiển thị các quy trình mà chính bạn hiện đang chạy. Nếu người dùng có đặc quyền quy trình thì họ có thể nhìn thấy mọi thứ.

+--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+ | Id     | User   | Host      | db     | Command | Time | State                | Info                                                                                                 | +--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+ | 708163 | root   | localhost | NULL   | Query   |    0 | NULL                 | show processlist                                                                                     | | 708174 | test | localhost | test | Query   |    2 | Copying to tmp table | select dist.name, dist.filename, count(*) from orders_header h inner join orders_detail d on h.ord | +--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+ 2 rows in set (0.00 sec) 0

Cách nhanh nhất để xem các truy vấn MySQL/MARIADB trực tiếp là sử dụng trình gỡ lỗi. Trên Linux, bạn có thể sử dụng

+--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
| Id     | User   | Host      | db     | Command | Time | State                | Info                                                                                                 |
+--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
| 708163 | root   | localhost | NULL   | Query   |    0 | NULL                 | show processlist                                                                                     |
| 708174 | test   | localhost | test   | Query   |    2 | Copying to tmp table | select dist.name, dist.filename, count(*)
from orders_header h
inner join orders_detail d on h.ord |
+--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
0, ví dụ:

sudo strace -e trace=read,write -s 2000 -fp $(pgrep -nf mysql) 2>&1

Vì có rất nhiều ký tự đã thoát ra, bạn có thể định dạng đầu ra của Strace bằng đường ống (chỉ cần thêm

+--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
| Id     | User   | Host      | db     | Command | Time | State                | Info                                                                                                 |
+--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
| 708163 | root   | localhost | NULL   | Query   |    0 | NULL                 | show processlist                                                                                     |
| 708174 | test   | localhost | test   | Query   |    2 | Copying to tmp table | select dist.name, dist.filename, count(*)
from orders_header h
inner join orders_detail d on h.ord |
+--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
2 giữa hai lớp lót này) ở trên vào lệnh sau:

grep --line-buffered -o '".\+[^"]"' | grep --line-buffered -o '[^"]*[^"]' | while read -r line; do printf "%b" $line; done | tr "\r\n" "\275\276" | tr -d "[:cntrl:]" | tr "\275\276" "\r\n"

Vì vậy, bạn sẽ thấy các truy vấn SQL khá sạch sẽ không có thời gian, mà không cần chạm vào các tệp cấu hình.

Rõ ràng điều này sẽ không thay thế cách cho phép ghi nhật ký tiêu chuẩn, được mô tả bên dưới (liên quan đến việc tải lại máy chủ SQL).

+--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+ | Id     | User   | Host      | db     | Command | Time | State                | Info                                                                                                 | +--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+ | 708163 | root   | localhost | NULL   | Query   |    0 | NULL                 | show processlist                                                                                     | | 708174 | test | localhost | test | Query   |    2 | Copying to tmp table | select dist.name, dist.filename, count(*) from orders_header h inner join orders_detail d on h.ord | +--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+ 2 rows in set (0.00 sec) 3

Sử dụng các đầu dò MySQL để xem các truy vấn MySQL trực tiếp mà không cần chạm vào máy chủ. Kịch bản ví dụ:

#!/usr/sbin/dtrace -q
pid$target::*mysql_parse*:entry /* This probe is fired when the execution enters mysql_parse */
{
     printf("Query: %s\n", copyinstr(arg1));
}

Lưu tập lệnh trên vào một tệp (như

+--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
| Id     | User   | Host      | db     | Command | Time | State                | Info                                                                                                 |
+--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
| 708163 | root   | localhost | NULL   | Query   |    0 | NULL                 | show processlist                                                                                     |
| 708174 | test   | localhost | test   | Query   |    2 | Copying to tmp table | select dist.name, dist.filename, count(*)
from orders_header h
inner join orders_detail d on h.ord |
+--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
4) và chạy:

pfexec dtrace -s watch.d -p $(pgrep -x mysqld)

Tìm hiểu thêm: Bắt đầu với Dtraces MySQL

Gibbs Mysql Spylass

Xem câu trả lời này.

Nhật ký

Dưới đây là các bước hữu ích cho đề xuất phát triển.

Thêm các dòng này vào

+--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
| Id     | User   | Host      | db     | Command | Time | State                | Info                                                                                                 |
+--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
| 708163 | root   | localhost | NULL   | Query   |    0 | NULL                 | show processlist                                                                                     |
| 708174 | test   | localhost | test   | Query   |    2 | Copying to tmp table | select dist.name, dist.filename, count(*)
from orders_header h
inner join orders_detail d on h.ord |
+--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
5 hoặc toàn cầu
+--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
| Id     | User   | Host      | db     | Command | Time | State                | Info                                                                                                 |
+--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
| 708163 | root   | localhost | NULL   | Query   |    0 | NULL                 | show processlist                                                                                     |
| 708174 | test   | localhost | test   | Query   |    2 | Copying to tmp table | select dist.name, dist.filename, count(*)
from orders_header h
inner join orders_detail d on h.ord |
+--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
6:

[mysqld]
general_log=1
general_log_file=/tmp/mysqld.log

Đường dẫn:

+--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
| Id     | User   | Host      | db     | Command | Time | State                | Info                                                                                                 |
+--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
| 708163 | root   | localhost | NULL   | Query   |    0 | NULL                 | show processlist                                                                                     |
| 708174 | test   | localhost | test   | Query   |    2 | Copying to tmp table | select dist.name, dist.filename, count(*)
from orders_header h
inner join orders_detail d on h.ord |
+--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
7 hoặc
+--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
| Id     | User   | Host      | db     | Command | Time | State                | Info                                                                                                 |
+--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
| 708163 | root   | localhost | NULL   | Query   |    0 | NULL                 | show processlist                                                                                     |
| 708174 | test   | localhost | test   | Query   |    2 | Copying to tmp table | select dist.name, dist.filename, count(*)
from orders_header h
inner join orders_detail d on h.ord |
+--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
8 cũng có thể hoạt động tùy thuộc vào quyền tệp của bạn.

Sau đó khởi động lại MySQL/Mariadb của bạn bằng (tiền tố với

+--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
| Id     | User   | Host      | db     | Command | Time | State                | Info                                                                                                 |
+--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
| 708163 | root   | localhost | NULL   | Query   |    0 | NULL                 | show processlist                                                                                     |
| 708174 | test   | localhost | test   | Query   |    2 | Copying to tmp table | select dist.name, dist.filename, count(*)
from orders_header h
inner join orders_detail d on h.ord |
+--------+--------+-----------+--------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
9 nếu cần thiết):

killall -HUP mysqld

Sau đó kiểm tra nhật ký của bạn:

tail -f /tmp/mysqld.log

Sau khi kết thúc, thay đổi

mysql> show processlistG

*************************** 6. row ***************************
     Id: 708163
   User: root
   Host: localhost
     db: NULL
Command: Query
   Time: 0
  State: NULL
   Info: show processlist
*************************** 7. row ***************************
     Id: 708174
   User: test
   Host: localhost
     db: test
Command: Query
   Time: 3
  State: Copying to tmp table
   Info: select dist.name, dist.filename, count(*)
from orders_header h
inner join orders_detail d on h.ord
2 rows in set (0.00 sec)
0 thành
mysql> show processlistG

*************************** 6. row ***************************
     Id: 708163
   User: root
   Host: localhost
     db: NULL
Command: Query
   Time: 0
  State: NULL
   Info: show processlist
*************************** 7. row ***************************
     Id: 708174
   User: test
   Host: localhost
     db: test
Command: Query
   Time: 3
  State: Copying to tmp table
   Info: select dist.name, dist.filename, count(*)
from orders_header h
inner join orders_detail d on h.ord
2 rows in set (0.00 sec)
1 (vì vậy bạn có thể sử dụng nó trong tương lai), sau đó xóa tệp và khởi động lại SQL Server:
mysql> show processlistG

*************************** 6. row ***************************
     Id: 708163
   User: root
   Host: localhost
     db: NULL
Command: Query
   Time: 0
  State: NULL
   Info: show processlist
*************************** 7. row ***************************
     Id: 708174
   User: test
   Host: localhost
     db: test
Command: Query
   Time: 3
  State: Copying to tmp table
   Info: select dist.name, dist.filename, count(*)
from orders_header h
inner join orders_detail d on h.ord
2 rows in set (0.00 sec)
2.

Làm thế nào tôi có thể xem những câu hỏi nào đang chạy?

Bạn có thể chạy dưới đây truy vấn để có được tất cả các thông tin cần thiết:..

lựa chọn..

r.session_id,.

S.tên đăng nhập,.

c.client_net_address,.

S.host_name,.

S.tên chương trình,.

st.văn bản, s.trạng thái..

từ sys.DM_EXEC_REQUESTS R ..

Làm cách nào để kiểm tra các truy vấn cập nhật trong MySQL?

Cập nhật lệnh Cập nhật MySQL Cập nhật `Table_Name` là lệnh cho MySQL cập nhật dữ liệu trong bảng.Đặt `cột_name` =` new_value 'là tên và giá trị của các trường bị ảnh hưởng bởi truy vấn cập nhật.Lưu ý, khi cài đặt các giá trị cập nhật, các loại dữ liệu chuỗi phải có trong các trích dẫn đơn.UPDATE `table_name` is the command that tells MySQL to update the data in a table . SET `column_name` = `new_value' are the names and values of the fields to be affected by the update query. Note, when setting the update values, strings data types must be in single quotes.