Nhật ký truy vấn mysql

Mình thấy điều này rất hữu ích, giúp ích cực lớn cho các bạn khi degug liên quan đến truy vấn, thao tác với Database

Cách này cũng dễ hiểu hơn về cách ứng dụng hoạt động bằng cách theo dõi các truy vấn SQL mà nó sử dụng. Go to started

2. Hướng dẫn

Bước 1. Để bật chế độ lưu nhật ký của MySQL, chúng ta phải sửa tệp cấu hình MySQL nằm trong

[mysqld]

#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1
1 trên Ubuntu

Lưu ý. Chúng ta phải làm điều đó với quyền quản trị

Vì vậy, chúng ta chạy lệnh sau đây trên Terminal

sudo nano /etc/mysql/my.cnf

Bước 2. Specify the following lines lines

[mysqld]

#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1

Để kích hoạt chúng, mình chỉ cần đơn giản là xóa đi dấu ghi chú

[mysqld]

#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1
2 trước mỗi dòng là xong. And results is

[mysqld]

general_log_file        = /var/log/mysql/mysql.log
general_log             = 1

Lưu ý. Trường hợp không tìm thấy 2 dòng này thì bạn có thể thoải mái copy paste vào là xong

Nhật ký truy vấn mysql

Bước 3. Khôi phục lại mysql

sudo service mysql restart

Bước 4. Vào xem kết quả

Bây giờ bạn có thể theo dõi nhật ký truy vấn của MySQL của mình trong thời gian thực hiện bằng cách sử dụng lệnh

[mysqld]

#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1
3 hoặc xem qua tệp
[mysqld]

#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1
4. Ví dụ như

________số 8

Đó là những gì chúng ta cần làm

3. Trải nghiệm

3. 1 Khi thao tác với Mysql Workbench

Thao tác. Khi select all Admin trong mysql Workbench

Nhật ký truy vấn mysql

4. Kết luận

LƯU Ý. Xin lưu ý rằng nhật ký của MySQL khi bật lên sẽ ảnh hưởng đến Hiệu suất của hệ thống, vì vậy đừng bật nó lên trên môi trường Sản xuất, Chúng ta chỉ sử dụng nó chỉ để gỡ lỗi

open start

  • Trong quá trình sử dụng vận tải và điều hành hệ thống Mysql thì việc quản lý các câu truy vấn thực thi chậm trên hệ thống sẽ giúp chúng ta có thể giúp chúng ta cải thiện thiện chí cũng như tra vết xem vấn đề nằm trong mã của chúng ta . 6

Cấu hình bên trong Mysql không cần khởi động lại dịch vụ

Đăng nhập vào mysql

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

SET GLOBAL slow_query_log = 'ON';

Thiết lập thời gian quy định truy vấn chậm

sudo nano /etc/mysql/my.cnf
0

Kiểm tra đường dẫn của tệp nhật ký

sudo nano /etc/mysql/my.cnf
1

Kết quả

sudo nano /etc/mysql/my.cnf
2

Thay đổi log file truy vấn chậm

sudo nano /etc/mysql/my.cnf
3

Thực hiện kiểm tra bài kiểm tra

Kiểm tra tệp lưu trữ hoặc sử dụng lệnh sau để kiểm tra

Kết quả

sudo nano /etc/mysql/my.cnf
4

Configure config in file configure, to restart service

Open file config

Thêm cấu hình đoạn sau

sudo nano /etc/mysql/my.cnf
5

Khởi động lại mysqld

Kiểm tra bằng một số câu lệnh ở phần trên

Tổng kết

Như thế là chúng ta đã có thể theo dõi các truy vấn chậm trên hệ thống mysql rồi. Chúc mọi người thành công


Thực hiện bởi cloud365. vn

Viết bởi Phạm Thành Đạt

Tìm hiểu cách cấu hình chức năng ghi nhật ký với các truy vấn tốn nhiều thời gian thực thi thành công trên dịch vụ MySQL

Qua

Quách Chí Cường

-

Nhìn cái tiêu đề thôi là các bạn cũng có thể hiểu bài viết này đề cập đến việc cấu hình ghi lại thông tin đăng nhập các truy vấn tốn nhiều thời gian để thực thi thành công trên hệ thống dịch vụ MySQL. Điều này khá hữu ích trong việc xác định xem vấn đề có nằm trong mã gây ra hiện tượng truy vấn cơ sở dữ liệu lâu hay không. Nhìn chung cấu hình đơn giản vô cùng chả có gì khó cả

Cấu hình dưới đây áp dụng công thức chính từ MySQL v5. 6 , phiên bản thấp hơn sẽ có sự thay đổi khác được nêu ở phần “Lưu ý” cuối bài. Configure this if configure in file “my. cnf” hay tên tệp sử dụng cho hoạt động dịch vụ MySQL sẽ mang tính chất vĩnh viễn cho mỗi lần dịch vụ MySQL khởi động lại sẽ tải cấu hình trong tệp.

sudo nano /etc/mysql/my.cnf
6
sudo nano /etc/mysql/my.cnf
7

 
Diễn giải giá trị cấu hình
+ long_query_time = [value] :
– Giá trị này sẽ quy định rằng nếu 1 truy vấn tốn nhiều thời gian để thực thi hơn số thời gian mà mình quy định ở phần cấu hình này thì MySQL sẽ ghi lại thông tin liên quan . Ở đây mình để nó là số “ 1 “, cũng nên gần như là ghi lại tất cả các truy vấn chậm Thời gian thực thi hơn 1 giây. Default is value "10" tức là 10 giây.

+ slow_query_log = [0/1]
– If value is “ 0” thì là tắt tính năng log slow query, còn “1” là kích hoạt chức năng này. Mặc định là MySQL tắt tính năng này đó nhé.

+ slow_query_log_file = file_name
– Giá trị này quy định tên của nhật ký tệp sẽ được lưu vào tệp đó, tệp này sẽ được tạo tại . Mặc định nếu không thay đổi thì tên của file log slow_query sẽ là “host_name-slow. nhật ký”.

+ log_output = [TỆP. NHỮNG CÁI BÀN. NONE]
– Cấu hình này chỉ nhằm mục đích xác định loại nhật ký mà chúng tôi sẽ lưu thông tin xuống, cụ thể là tệp hoặc 1 bảng trên cơ sở dữ liệu của dịch vụ MySQL. Thông thường thì mình sẽ chỉ xác định là “FILE” vì mình lưu truy vấn chậm log down file trên ổ cứng. Nếu cấu hình của bạn là “NONE” thì coi như sẽ không có bất kỳ thông tin nhật ký thông tin nào được ghi ra cả vì nó biết loại đối tượng lưu trữ nhật ký truy vấn chậm là gì ở đâu.
– “log_output” này cũng áp dụng chung cho cấu hình “General_log“.

Sau đó khởi động lại dịch vụ hoặc tải lại MySQL

sudo nano /etc/mysql/my.cnf
8

 
Lưu ý.
– Đối chiếu với 1 số hệ thống dịch vụ MySQL cũ từ 5. 5 return down, then don't tồn tại trong cấu hình tên là “slow_query_log” do has beenđổi tên từ “log-slow-queries” sang mới. Nên nếu bạn cấu hình trên hệ thống MySQL cũ thì nên dùng tên cấu hình là.

sudo nano /etc/mysql/my.cnf
9

 

Cấu hình nhật ký “slow query” không cần khởi động lại dịch vụ MySQL

Giả sử bạn đang gỡ lỗi hoạt động MySQL và muốn bật tính năng lưu nhật ký với truy vấn chậm mà không cần khởi động lại dịch vụ thì ta có thể cấu hình thông qua dòng lệnh MySQL. Không cần thiết phải bất kỳ thao tác cấu hình với tập tin “my. cnf” và khởi động lại dịch vụ

Đăng nhập dòng lệnh MySQL và thực hiện đặt giá trị cấu hình GLOBAL tương ứng như sau

[mysqld]

#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1
0

 
Kiểm tra lại các giá trị được cấu hình chưa phù hợp.

[mysqld]

#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1
1

 
Chỉ cần như vậy là xong rồi. Chúc các bạn thành công.

Facebook

Twitter

Pinterest

WhatsApp

liên kết

điện báo

Bài viết trước [DirectAdmin] Sửa lỗi “RoundCube. Không thể lưu mật khẩu mới. Không thể tạo kết nối ổ cắm với tcp. //máy chủ cục bộ. 2222”

Bài viết tiếp theo [MySQL] Hướng dẫn cấu hình đăng nhập bảng điều khiển MySQL không cần nhập user-pass

Nhật ký truy vấn mysql

Quách Chí Cường

https. //cuongquach. com/

Bạn đang theo dõi website " https. //cuongquach. com/" nơi lưu trữ những kiến ​​thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này