Hướng dẫn how do i enable slow log query in mysql? - làm cách nào để kích hoạt truy vấn nhật ký chậm trong mysql?

Bài viết này mô tả cách bật nhật ký truy vấn chậm MySQL. Bạn có thể sử dụng nhật ký truy vấn chậm để giúp xác định truy vấn cơ sở dữ liệu nào mất nhiều thời gian để chạy.

Bài viết này chỉ áp dụng cho các sản phẩm được liệt kê trong bài viết Chi tiết thanh bên. Bạn phải có quyền truy cập gốc vào máy chủ để tuân theo các quy trình này. Nếu bạn có VPS được quản lý hoặc máy chủ chuyên dụng được quản lý (và không có quyền truy cập root) và muốn bật nhật ký truy vấn chậm, vui lòng mở vé trên cổng thông tin khách hàng tại https://my.a2hosting.com.Article Details sidebar. You must have root access to the server to follow these procedures. If you have a Managed VPS or Managed Dedicated Server (and do not have root access) and want to enable the slow query log, please open a ticket on the Customer Portal at https://my.a2hosting.com.

Bật & nbsp; nhật ký truy vấn chậm

Truy vấn chậm có thể ảnh hưởng đến hiệu suất cơ sở dữ liệu và hiệu suất máy chủ tổng thể. Tính năng nhật ký truy vấn chậm trong MySQL cho phép bạn ghi nhật ký các truy vấn vượt quá giới hạn thời gian được xác định trước. Điều này đơn giản hóa rất nhiều nhiệm vụ tìm kiếm các truy vấn không hiệu quả hoặc tốn thời gian.

Để bật nhật ký truy vấn chậm trong MySQL, hãy làm theo các bước sau:

  1. Đăng nhập vào máy chủ của bạn bằng SSH.
  2. Ở dòng lệnh, nhập lệnh sau:
    mysql -u root -p
  3. Nhập mật khẩu gốc MySQL.
  4. Để bật nhật ký truy vấn chậm, hãy nhập lệnh sau tại lời nhắc MySQL>:mysql> prompt:

    SET GLOBAL slow_query_log = 'ON';
  5. Có các tùy chọn bổ sung mà bạn có thể đặt cho nhật ký truy vấn chậm:

    • Theo mặc định, khi nhật ký truy vấn chậm được bật, nó sẽ ghi lại bất kỳ truy vấn nào mất hơn 10 giây để chạy. Để thay đổi khoảng này, hãy nhập lệnh sau, thay thế x bằng thời gian tính bằng giây:
      SET GLOBAL long_query_time = X;
      X with the time in seconds:
      SET GLOBAL long_query_time = X;
    • Theo mặc định, tệp nhật ký truy vấn chậm được đặt tại /var/lib/mysql/hostname-slow.log. Để thay đổi đường dẫn nhật ký hoặc tên tệp, hãy nhập lệnh sau, thay thế đường dẫn bằng đường dẫn đến tệp và tên tệp với tên của tên tệp nhật ký:hostname-slow.log. To change the log path or filename, type the following command, replacing path with the path to the file, and filename with the name of the log filename:

      SET GLOBAL slow_query_log_file = '/path/filename';
  6. Để xác minh rằng nhật ký truy vấn chậm đang hoạt động chính xác, hãy đăng xuất khỏi chương trình MySQL và sau đó đăng nhập lại. (Điều này tải lại các biến phiên cho chương trình MySQL.) Nhập lệnh sau, thay thế x bằng giá trị lớn hơn Cài đặt long_query_time:X with a value that is greater than the long_query_time setting:

    SELECT SLEEP(X);

    Tệp nhật ký truy vấn chậm phải chứa thông tin về truy vấn.

  7. Tiếp tục theo dõi tệp nhật ký truy vấn chậm để xem các truy vấn nào mất nhiều thời gian để chạy.
  8. Khi bạn hoàn thành việc khắc phục sự cố, hãy vô hiệu hóa nhật ký truy vấn chậm. Để thực hiện việc này, hãy chạy lại chương trình MySQL và sau đó nhập lệnh sau:

    SET GLOBAL slow_query_log = 'OFF';

    Bạn chỉ nên kích hoạt nhật ký truy vấn chậm miễn là cần phải khắc phục sự cố hiệu suất.

Thêm thông tin

Để biết thêm thông tin về nhật ký truy vấn chậm MySQL, vui lòng truy cập https://dev.mysql.com/doc/refman/5.5/en/slow-query-log.html.

Phiên bản 5.1.6 trở lên:

1. Nhập vỏ MySQL và chạy lệnh sau:

SET GLOBAL slow_query_log = 'ON';
5

2. Kích hoạt bất kỳ tùy chọn mong muốn khác. Dưới đây là một số ví dụ phổ biến:

Chi tiết đăng nhập cho các truy vấn dự kiến ​​sẽ truy xuất tất cả các hàng thay vì sử dụng chỉ mục:

   set global log_queries_not_using_indexes = 'ON'

Đặt đường dẫn đến nhật ký truy vấn chậm:

  set global slow_query_log_file ='/var/log/mysql/slow-query.log';

Đặt lượng thời gian mà một truy vấn cần chạy trước khi được ghi lại:

   set global long_query_time = 20;
     (default is 10 seconds)

3. Xác nhận các thay đổi đang hoạt động bằng cách nhập vỏ MySQL và chạy lệnh sau:

show variables like '%slow%';

Các phiên bản dưới 5.1.6:

  1. Chỉnh sửa tệp /etc/my.cnf với trình chỉnh sửa văn bản yêu thích của bạn VI /etc/my.cnf

  2. Thêm dòng sau đây trong phần [MySQLD]. Vui lòng cập nhật đường dẫn đến tệp nhật ký lên bất cứ điều gì bạn muốn:

    SET GLOBAL slow_query_log = 'ON';
    6

3. Kích hoạt các tùy chọn bổ sung khi cần thiết. Dưới đây là những ví dụ thường được sử dụng từ trên:

Đặt lượng thời gian mà một truy vấn cần chạy trước khi được ghi lại:

SET GLOBAL slow_query_log = 'ON';
0

Chi tiết đăng nhập cho các truy vấn dự kiến ​​sẽ truy xuất tất cả các hàng thay vì sử dụng chỉ mục:

SET GLOBAL slow_query_log = 'ON';
1

Đặt đường dẫn đến nhật ký truy vấn chậm:

SET GLOBAL slow_query_log = 'ON';
2

Đặt lượng thời gian mà một truy vấn cần chạy trước khi được ghi lại:

show variables like '%slow%';

Update:1

3. Xác nhận các thay đổi đang hoạt động bằng cách nhập vỏ MySQL và chạy lệnh sau:

SET GLOBAL slow_query_log = 'ON';
4

Các phiên bản dưới 5.1.6:

Chỉnh sửa tệp /etc/my.cnf với trình chỉnh sửa văn bản yêu thích của bạn VI /etc/my.cnf

http://dev.mysql.com/doc/refman/5.5/en/slow-query-log.html

http://dev.mysql.com/doc/refman/5.1/en/slow-query-log.html

Làm cách nào để làm chậm một truy vấn MySQL?

Để kích hoạt nhật ký truy vấn chậm, hãy nhập lệnh sau tại MySQL> Lời nhắc: Sao chép đặt toàn cầu slow_query_log = 'ON'; Có các tùy chọn bổ sung mà bạn có thể đặt cho nhật ký truy vấn chậm: Theo mặc định, khi nhật ký truy vấn chậm được bật, nó ghi lại bất kỳ truy vấn nào mất nhiều thời gian hơn 10 giây để chạy.Copy SET GLOBAL slow_query_log = 'ON'; There are additional options that you can set for the slow query log: By default, when the slow query log is enabled, it logs any query that takes longer than 10 seconds to run.

Nhật ký truy vấn chậm MySQL ở đâu?

Theo mặc định, tệp nhật ký truy vấn chậm được đặt tại /var/lib/mysql/hostname-slow.log./var/lib/mysql/hostname-slow. log.

Làm cách nào để kích hoạt nhật ký MySQL?

Để bật các tệp nhật ký, hãy làm như sau:..
Tạo tệp tùy chọn /etc/my.cnf với các định nghĩa sau sẽ tự động cho phép các tệp nhật ký: [MySQLD] Log-Bin Log-Error Log-Slow-Quaeries.....
Dừng và khởi động máy chủ MySQL để kích hoạt các thay đổi thành /etc /của tôi ..

Làm cách nào để đọc nhật ký truy vấn chậm?

Để làm cho việc đọc nội dung nhật ký dễ dàng hơn, bạn có thể sử dụng tiện ích dòng lệnh mysqldumpslow để xử lý tệp nhật ký truy vấn chậm và tóm tắt nội dung của nó: ~ $ mysqldumpslow -a/var/lib/mysql/slowquery.Nhật ký đọc nhật ký truy vấn chậm mysql từ/var/lib/mysql/slowquery.use the mysqldumpslow command-line utility to process a slow query log file and summarize its contents: ~ $ mysqldumpslow -a /var/lib/mysql/slowquery. log Reading mysql slow query log from /var/lib/mysql/slowquery.