Làm cách nào để kiểm tra nhật ký cảnh báo trong MySQL?
Ghi nhật ký tất cả các lần thử hoặc chỉ những lần thất bại là một nhiệm vụ rất quan trọng trong một số tình huống. Thật không may, không có quá nhiều khả năng kiểm tra trong Cộng đồng MySQL, vì vậy tùy chọn đầu tiên để kiểm tra quy trình xác thực của MySQL là lấy tất cả thông tin chúng tôi cần từ nhật ký Show Nhật ký truy vấn chungTùy chọn đầu tiên là Nhật ký truy vấn chung. Hãy xem một ví dụ Kích hoạt nhật ký Vỏ bọc1 2 General_log_file = / var/log/mysql/mysql.log General_log = 1 Người dùng được xác thực chính xác Vỏ bọc1 2 121227 8. 31. 49 38 Kết nối root<@localhost on 38 Truy vấn chọn @@version_comment limit 1 Người dùng không được xác thực chính xác Vỏ bọc1 2 121227 8. 32. 18 39 Kết nối root<@localhost on 39 Kết nối Quyền truy cập bị từ chối for user 'root'@'localhost' (using password: CÓ) Vấn đề của Nhật ký truy vấn chung là nó sẽ ghi lại mọi thứ nên có thể làm giảm hiệu suất và bạn sẽ phải xử lý các tệp rất lớn trên các máy chủ được tải nhiều. biến general_log là biến động nên giải pháp có thể bật và tắt nhật ký ngay khi cần Nhật ký lỗiNếu bạn chỉ quan tâm đến những lần đăng nhập không thành công thì có một cách tiếp cận khác và ít vấn đề hơn. từ 5. 5 có thể ghi các thông báo bị từ chối truy cập vào nhật ký lỗi Chúng ta chỉ cần kích hoạt log_warnings với giá trị lớn hơn 1 Vỏ bọc1 log_warnings = 2 Sau đó kiểm tra nhật ký lỗi Vỏ bọc1 121227 8. 44. 21 [Cảnh báo] Quyền truy cập . denied for user 'root'@'localhost' (using password: CÓ) Thống kê người dùngNếu bạn đang sử dụng Máy chủ Percona thì có tùy chọn thứ ba để nhận thông tin về người dùng của chúng tôi, Thống kê người dùng. Như với các tùy chọn trước, chúng tôi có thể nhận được số lượng kết nối và kết nối không thành công do một người dùng cụ thể thực hiện chứ không phải ngày và giờ của những lần thử đó. Bên cạnh thông tin đó, chúng tôi có thể nhận được các số liệu thống kê khác có thể rất hữu ích nếu MySQL đang chạy trên môi trường nhiều bên thuê hoặc chúng tôi cần kiểm soát cách sử dụng tài nguyên Hãy xem một ví dụ, trước tiên chúng tôi bật Thống kê người dùng trong. cnf 5. 5 1 chỉ số người dùng = 1 5. 1 Vỏ bọc1 userstat_running = 1 Sau đó, chúng tôi nhận được thông tin về một người dùng cụ thể Vỏ bọc1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 mysql> chọn * từ user_statistics where user='root'\G *************************** 1. hàng *************************** NGƯỜI DÙNG. gốc TOTAL_CONNECTIONS. 25 CONCURRENT_CONNECTIONS. 0 CONNECTED_TIME. 464 BUSY_TIME. 96 CPU_TIME. 19 BYTES_RECEIVED. 62869617 BYTES_SENT. 14520 BINLOG_BYTES_WRITTEN. 0 ROWS_FETCHED. 783051 ROWS_UPDATED. 1017714 TABLE_ROWS_READ. 1484751 SELECT_COMMANDS. 14 UPDATE_COMMANDS. 103 OTHER_COMMANDS. 3556 COMMIT_TRANSACTIONS. 0 ROLLBACK_TRANSACTIONS. 0 DENIED_CONNECTIONS. 2 LOST_CONNECTIONS. 16 ACCESS_DENIED. 0 EMPTY_QUERIES. 0 TOTAL_SSL_CONNECTIONS. 0 Ở đây chúng ta có thể thấy rằng root đã thực hiện tổng cộng 25 kết nối. Hai kết nối bị từ chối (mật khẩu sai) và 16 kết nối bị mất (không được đóng đúng cách). Ngoài thông tin đó, chúng tôi nhận được thời gian kết nối, byte nhận và gửi, hàng được truy cập, lệnh được thực thi, v.v. Thông tin rất có giá trị Điều quan trọng cần đề cập là các bảng này được lưu trữ trong INFORMATION_SCHEMA và điều đó có nghĩa là sau khi khởi động lại mysqld, tất cả thông tin sẽ bị mất. Vì vậy, nếu bạn thực sự cần thông tin đó, bạn nên sao chép thông tin đó sang một bảng khác hoặc xuất sang tệp csv để phân tích thêm Phần kết luậnChúng tôi không có quá nhiều khả năng kiểm tra trong Cộng đồng MySQL nên việc ghi lại tất cả các sự kiện và sau đó lọc chúng bằng các tập lệnh tùy chỉnh là giải pháp tốt nhất mà chúng tôi có hiện nay. Nếu bạn đang sử dụng Máy chủ Percona, bạn có thể nhận được thông tin chi tiết hơn về những gì một người dùng cụ thể đang làm. Tất cả các tùy chọn có thể được kết hợp để đáp ứng nhu cầu của bạn Làm cách nào để kiểm tra nhật ký trong MySQL?Trên các hệ thống Ubuntu, vị trí mặc định cho MySQL là /var/log/mysql/error. đăng nhập. Trong nhiều trường hợp, các bản ghi lỗi được đọc dễ dàng nhất với chương trình less, một tiện ích dòng lệnh cho phép bạn xem các tệp nhưng không chỉnh sửa chúng. sudo less /var/log/mysql/error .
Nhật ký lỗi MySQL được lưu trữ ở đâu?Máy chủ MySQL sử dụng nhật ký lỗi để ghi lại thông tin liên quan đến lỗi ngăn máy chủ khởi động. Nhật ký lỗi nằm trong thư mục dữ liệu được chỉ định trong tệp my. tệp ini .
Làm cách nào để kiểm tra nhật ký lỗi trong MySQL Workbench?MySQL Workbench khởi động và các hành động SQL được ghi lại và lưu trữ trong thư mục log/. Thư mục này nằm trong thư mục MySQL Workbench của người dùng. Để tìm các tệp văn bản này, hãy chọn Hiển thị tệp nhật ký từ menu Trợ giúp .
Làm cách nào để kiểm tra nhật ký lỗi MySQL trong Windows?Bạn sẽ tìm thấy nhật ký lỗi trong thư mục dữ liệu được chỉ định trong tệp my. tệp ini . Vị trí thư mục dữ liệu mặc định trong Windows là "C. \Tệp chương trình\MySQL\Máy chủ MySQL 5. 7\dữ liệu" hoặc "C. \ProgramData\Mysql". |