Kiểm tra nhật ký truy vấn/mysql

Tôi muốn kích hoạt và theo dõi nhật ký lỗi, nhật ký truy vấn chậm và nhật ký chung cho phiên bản Dịch vụ cơ sở dữ liệu quan hệ Amazon (Amazon RDS) chạy MySQL. Tôi có thể làm cái này như thế nào?

Mô tả ngắn

Nghị quyết

Tạo một nhóm tham số DB

  1. Mở bảng điều khiển Amazon RDS rồi chọn Nhóm thông số từ ngăn điều hướng
  2. Chọn Tạo nhóm thông số
  3. Từ danh sách thả xuống Họ nhóm tham số, chọn một họ nhóm tham số DB
  4. Đối với Loại, hãy chọn Nhóm tham số DB
  5. Nhập tên vào trường Tên nhóm
  6. Nhập mô tả vào trường Mô tả
  7. Chọn Tạo

Sửa đổi nhóm tham số mới

  1. Mở bảng điều khiển Amazon RDS rồi chọn Nhóm thông số từ ngăn điều hướng
  2. Chọn nhóm tham số mà bạn muốn sửa đổi
  3. Chọn hành động của nhóm thông số, sau đó chọn chỉnh sửa
  4. Chọn Chỉnh sửa tham số và đặt các tham số sau thành các giá trị này. General_log = 1 (giá trị mặc định là 0 hoặc không ghi nhật ký) Slow_query_log = 1 (giá trị mặc định là 0 hoặc không ghi nhật ký) Long_query_time = 2 (để ghi lại các truy vấn chạy lâu hơn hai giây) log_output = FILE (ghi cả truy vấn chung và truy vấn chậm
  5. Chọn Lưu thay đổi. Ghi chú. Bạn không thể sửa đổi cài đặt tham số của nhóm tham số DB mặc định. Bạn có thể sửa đổi tham số trong nhóm tham số DB tùy chỉnh nếu Có thể sửa đổi được đặt thành true

Liên kết phiên bản với nhóm tham số DB

  1. Mở bảng điều khiển Amazon RDS rồi chọn Cơ sở dữ liệu từ ngăn điều hướng
  2. Chọn phiên bản mà bạn muốn liên kết với nhóm tham số DB, sau đó chọn Sửa đổi
  3. Từ phần Tùy chọn cơ sở dữ liệu, chọn nhóm tham số CSDL mà bạn muốn liên kết với phiên bản CSDL
  4. Chọn Tiếp tục.
    Lưu ý. Tên nhóm tham số thay đổi và áp dụng ngay lập tức, nhưng nhóm tham số không được áp dụng cho đến khi bạn khởi động lại phiên bản theo cách thủ công. Có sự cố ngừng hoạt động tạm thời khi bạn khởi động lại phiên bản CSDL và trạng thái phiên bản hiển thị là đang khởi động lại.

xem nhật ký

Nếu log_output = TABLE, hãy chạy lệnh sau để truy vấn các bảng nhật ký

Select * from mysql.slow_log
Select * from mysql.general_log



Bạn có cần thanh toán hoặc hỗ trợ kỹ thuật?

Nhật ký truy vấn chung là nhật ký của mọi truy vấn SQL nhận được từ máy khách, cũng như mỗi máy khách kết nối và ngắt kết nối. Vì đó là bản ghi của mọi truy vấn mà máy chủ nhận được nên nó có thể lớn lên khá nhanh

Tuy nhiên, nếu bạn chỉ muốn có một bản ghi các truy vấn làm thay đổi dữ liệu, thì tốt hơn bạn nên sử dụng nhật ký nhị phân để thay thế. Một điểm khác biệt quan trọng là nhật ký nhị phân chỉ ghi lại một truy vấn khi giao dịch được thực hiện bởi máy chủ, nhưng nhật ký truy vấn chung sẽ ghi lại một truy vấn ngay lập tức khi máy chủ nhận được

Kích hoạt Nhật ký truy vấn chung

Nhật ký truy vấn chung bị tắt theo mặc định

Để bật nhật ký truy vấn chung, hãy đặt biến hệ thống

[mariadb]
...
general_log
3 thành
[mariadb]
...
general_log
4. Nó có thể được thay đổi linh hoạt với
[mariadb]
...
general_log
5. Ví dụ

SET GLOBAL general_log=1;

Nó cũng có thể được đặt trong một máy chủ trong một tệp tùy chọn trước khi khởi động máy chủ. Ví dụ

[mariadb]
...
general_log

Định cấu hình Tên tệp nhật ký truy vấn chung

Theo mặc định, nhật ký truy vấn chung được ghi vào

[mariadb]
...
general_log
6 trong thư mục
[mariadb]
...
general_log
7. Tuy nhiên, điều này có thể được thay đổi

Một cách để định cấu hình tên tệp nhật ký truy vấn chung là đặt biến hệ thống

[mariadb]
...
general_log
8. Nó có thể được thay đổi linh hoạt với
[mariadb]
...
general_log
5. Ví dụ

[mariadb]
...
general_log
0

Nó cũng có thể được đặt trong một máy chủ trong một tệp tùy chọn trước khi khởi động máy chủ. Ví dụ

[mariadb]
...
general_log
1

Nếu nó là một đường dẫn tương đối, thì

[mariadb]
...
general_log
8 có liên quan đến thư mục
[mariadb]
...
general_log
7

Tuy nhiên, biến hệ thống

[mariadb]
...
general_log
8 cũng có thể là một đường dẫn tuyệt đối. Ví dụ

[mariadb]
...
general_log
5

Một cách khác để định cấu hình tên tệp nhật ký truy vấn chung là đặt tùy chọn

[mariadb]
...
general_log
03, tùy chọn này sẽ định cấu hình MariaDB để sử dụng tiền tố chung cho tất cả các tệp nhật ký (e. g. nhật ký truy vấn chung, nhật ký truy vấn chậm, nhật ký lỗi, nhật ký nhị phân, v.v. ). Tên tệp nhật ký truy vấn chung sẽ được tạo bằng cách thêm phần mở rộng
[mariadb]
...
general_log
04 vào tiền tố này. Tùy chọn này không thể được đặt động. Nó có thể được đặt trong một máy chủ trong một tệp tùy chọn trước khi khởi động máy chủ. Ví dụ

[mariadb]
...
general_log
8

[mariadb]
...
general_log
03 không thể là đường dẫn tuyệt đối. Tên tệp nhật ký có liên quan đến thư mục
[mariadb]
...
general_log
7

Chọn đích đầu ra của nhật ký truy vấn chung

Nhật ký truy vấn chung có thể được ghi vào một tệp trên đĩa hoặc có thể được ghi vào bảng

[mariadb]
...
general_log
07 trong cơ sở dữ liệu
[mariadb]
...
general_log
08. Để chọn đích đầu ra của nhật ký truy vấn chung, hãy đặt biến hệ thống
[mariadb]
...
general_log
09

Viết Nhật ký truy vấn chung vào một tệp

Nhật ký truy vấn chung được xuất ra một tệp theo mặc định. Tuy nhiên, nó có thể được chọn rõ ràng bằng cách đặt biến hệ thống

[mariadb]
...
general_log
09 thành
[mariadb]
...
general_log
11. Nó có thể được thay đổi linh hoạt với
[mariadb]
...
general_log
5. Ví dụ

[mariadb]
...
general_log
7

Nó cũng có thể được đặt trong một máy chủ trong một tệp tùy chọn trước khi khởi động máy chủ. Ví dụ

[mariadb]
...
general_log
8

Viết nhật ký truy vấn chung vào một bảng

Nhật ký truy vấn chung có thể được ghi vào bảng

[mariadb]
...
general_log
07 trong cơ sở dữ liệu
[mariadb]
...
general_log
08 bằng cách đặt biến hệ thống
[mariadb]
...
general_log
09 thành
[mariadb]
...
general_log
16. Nó có thể được thay đổi linh hoạt với
[mariadb]
...
general_log
5. Ví dụ

[mariadb]
...
general_log
4

Nó cũng có thể được đặt trong một máy chủ trong một tệp tùy chọn trước khi khởi động máy chủ. Ví dụ

[mariadb]
...
general_log
5

Một số hàng trong bảng này có thể trông như thế này

[mariadb]
...
general_log
0

Xem Viết nhật ký vào bảng để biết thêm thông tin

Vô hiệu hóa Nhật ký truy vấn chung cho một phiên

Người dùng có đặc quyền có thể tắt ghi nhật ký truy vấn chung cho kết nối bằng cách đặt biến hệ thống thành

[mariadb]
...
general_log
4. Ví dụ

[mariadb]
...
general_log
1

Vô hiệu hóa Nhật ký truy vấn chung cho các câu lệnh cụ thể

Trong MariaDB 10. 3. 1 trở lên, có thể vô hiệu hóa việc ghi vào nhật ký truy vấn chung cho các loại câu lệnh cụ thể bằng cách đặt biến hệ thống

[mariadb]
...
general_log
19. Tùy chọn này không thể được đặt động. Nó có thể được đặt trong một máy chủ trong một tệp tùy chọn trước khi khởi động máy chủ. Ví dụ

[mariadb]
...
general_log
2

Xoay Nhật ký truy vấn chung trên Unix và Linux

Các bản phân phối Unix và Linux cung cấp tiện ích logrotate, giúp dễ dàng xoay các tệp nhật ký. Xem Nhật ký luân phiên trên Unix và Linux để biết thêm thông tin về cách sử dụng tiện ích này để xoay nhật ký truy vấn chung

Nhật ký truy vấn trong MySQL là gì?

Nhật ký truy vấn chung là bản ghi chung về những gì mysqld đang làm . Máy chủ ghi thông tin vào nhật ký này khi máy khách kết nối hoặc ngắt kết nối và nó ghi lại từng câu lệnh SQL nhận được từ máy khách.

Làm cách nào để xem truy vấn cuối cùng trong MySQL?

Để lấy bản ghi cuối cùng, đây là truy vấn. mysql> select *from getLastRecord ORDER BY id DESC LIMIT 1; Sau đây là kết quả. Đầu ra ở trên cho thấy rằng chúng tôi đã tìm nạp bản ghi cuối cùng, với Id 4 và Tên Carol.

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

Ngoài ra, để bật ghi nhật ký từ bảng điều khiển MySQL (cũng phải chỉ định vị trí tệp nhật ký bằng cách nào đó hoặc tìm vị trí mặc định). SET toàn cầu general_log = 1; . Điều này không hoạt động trong MySQL 5. 6

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

Sử dụng mysqldumpslow để phân tích nhật ký truy vấn chậm .
Sudo mysqldumpslow /var/log/mysql/mysql-slow. đăng nhập
Sudo mysqldumpslow -t 5 /var/log/mysql/mysql-slow. đăng nhập
sudo mysqldumpslow -t 3 -s l /var/log/mysql/mysql-slow. đăng nhập