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_log3 thành
[mariadb] ... general_log4. Nó có thể được thay đổi linh hoạt với
[mariadb] ... general_log5. Ví dụ
SET GLOBAL general_log=1;
Nó cũng có thể được đặt trong nhóm tùy chọn máy chủ trong 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_log6 trong thư mục
[mariadb] ... general_log7. 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_log8. Nó có thể được thay đổi linh hoạt với
[mariadb] ... general_log5. Ví dụ
SET GLOBAL general_log_file='mariadb.log';
Nó cũng có thể được đặt trong nhóm tùy chọn máy chủ trong tệp tùy chọn trước khi khởi động máy chủ. Ví dụ
[mariadb] ... general_log0
Nếu nó là một đường dẫn tương đối, thì
[mariadb] ... general_log8 có liên quan đến thư mục
[mariadb] ... general_log7
Tuy nhiên, biến hệ thống
[mariadb] ... general_log8 cũng có thể là một đường dẫn tuyệt đối. Ví dụ
[mariadb] ... general_log4
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
SET GLOBAL general_log_file='mariadb.log';3, 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
SET GLOBAL general_log_file='mariadb.log';4 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 nhóm tùy chọn máy chủ trong tệp tùy chọn trước khi khởi động máy chủ. Ví dụ
[mariadb] ... general_log7
SET GLOBAL general_log_file='mariadb.log';3 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_log7
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
SET GLOBAL general_log_file='mariadb.log';7 trong cơ sở dữ liệu
SET GLOBAL general_log_file='mariadb.log';8. Để chọn đích đầu ra của nhật ký truy vấn chung, hãy đặt biến hệ thống
SET GLOBAL general_log_file='mariadb.log';9
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
SET GLOBAL general_log_file='mariadb.log';9 thành
[mariadb] ... general_log01. Nó có thể được thay đổi linh hoạt với
[mariadb] ... general_log5. Ví dụ
[mariadb] ... general_log6
Nó cũng có thể được đặt trong nhóm tùy chọn máy chủ trong tệp tùy chọn trước khi khởi động máy chủ. Ví dụ
[mariadb] ... general_log7
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
SET GLOBAL general_log_file='mariadb.log';7 trong cơ sở dữ liệu
SET GLOBAL general_log_file='mariadb.log';8 bằng cách đặt biến hệ thống
SET GLOBAL general_log_file='mariadb.log';9 thành
[mariadb] ... general_log06. Nó có thể được thay đổi linh hoạt với
[mariadb] ... general_log5. Ví dụ
SET GLOBAL general_log=1;3
Nó cũng có thể được đặt trong nhóm tùy chọn máy chủ trong tệp tùy chọn trước khi khởi động máy chủ. Ví dụ
SET GLOBAL general_log=1;4
Một số hàng trong bảng này có thể trông như thế này
[mariadb] ... general_log0
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 SUPER 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 SQL_LOG_OFF thành
[mariadb] ... general_log4. Ví dụ
[mariadb] ... general_log1
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_log09. Tùy chọn này không thể được đặt động. Nó có thể được đặt trong nhóm tùy chọn máy chủ trong tệp tùy chọn trước khi khởi động máy chủ. Ví dụ
[mariadb] ... general_log2
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