MySQL cho phép bạn kiểm tra các truy vấn được thực hiện bởi mỗi phiên. Từ những kết quả này, chúng tôi sẽ thực hiện truy vấn cuối cùng được thực hiện bởi một phiên cụ thể
Sự chuẩn bị
Trước tiên, bạn cần bật nhật ký truy vấn MySQL, bạn có thể thực hiện việc này bằng cách thực hiện các truy vấn sau
Đôi khi bạn cần theo dõi tất cả các truy vấn được gửi đến máy chủ MySQL trong một khoảng thời gian. Máy chủ MySQL cung cấp một cách để hiển thị nhật ký truy vấn chung và nhật ký truy vấn chậm, nếu các nhật ký đó được bật. Các đích có thể có của các mục nhật ký là tệp nhật ký hoặc bảng
CREATE TABLE `slow_log` [
`start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
`user_host` mediumtext NOT NULL,
`query_time` time NOT NULL,
`lock_time` time NOT NULL,
`rows_sent` int[11] NOT NULL,
`rows_examined` int[11] NOT NULL,
`db` varchar[512] NOT NULL,
`last_insert_id` int[11] NOT NULL,
`insert_id` int[11] NOT NULL,
`server_id` int[10] unsigned NOT NULL,
`sql_text` mediumtext NOT NULL,
`thread_id` bigint[21] unsigned NOT NULL
] ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
0 và CREATE TABLE `slow_log` [
`start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
`user_host` mediumtext NOT NULL,
`query_time` time NOT NULL,
`lock_time` time NOT NULL,
`rows_sent` int[11] NOT NULL,
`rows_examined` int[11] NOT NULL,
`db` varchar[512] NOT NULL,
`last_insert_id` int[11] NOT NULL,
`insert_id` int[11] NOT NULL,
`server_id` int[10] unsigned NOT NULL,
`sql_text` mediumtext NOT NULL,
`thread_id` bigint[21] unsigned NOT NULL
] ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
1 trong cơ sở dữ liệu hệ thống CREATE TABLE `slow_log` [
`start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
`user_host` mediumtext NOT NULL,
`query_time` time NOT NULL,
`lock_time` time NOT NULL,
`rows_sent` int[11] NOT NULL,
`rows_examined` int[11] NOT NULL,
`db` varchar[512] NOT NULL,
`last_insert_id` int[11] NOT NULL,
`insert_id` int[11] NOT NULL,
`server_id` int[10] unsigned NOT NULL,
`sql_text` mediumtext NOT NULL,
`thread_id` bigint[21] unsigned NOT NULL
] ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
2Trong bài đăng này, chúng tôi sẽ kích hoạt nhật ký chung và nhật ký truy vấn chậm và hiển thị chúng trong các bảng trong MySQL
1. Trước tiên, hãy kiểm tra xem bạn đã có sẵn hai bảng
CREATE TABLE `slow_log` [
`start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
`user_host` mediumtext NOT NULL,
`query_time` time NOT NULL,
`lock_time` time NOT NULL,
`rows_sent` int[11] NOT NULL,
`rows_examined` int[11] NOT NULL,
`db` varchar[512] NOT NULL,
`last_insert_id` int[11] NOT NULL,
`insert_id` int[11] NOT NULL,
`server_id` int[10] unsigned NOT NULL,
`sql_text` mediumtext NOT NULL,
`thread_id` bigint[21] unsigned NOT NULL
] ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
1 và CREATE TABLE `slow_log` [
`start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
`user_host` mediumtext NOT NULL,
`query_time` time NOT NULL,
`lock_time` time NOT NULL,
`rows_sent` int[11] NOT NULL,
`rows_examined` int[11] NOT NULL,
`db` varchar[512] NOT NULL,
`last_insert_id` int[11] NOT NULL,
`insert_id` int[11] NOT NULL,
`server_id` int[10] unsigned NOT NULL,
`sql_text` mediumtext NOT NULL,
`thread_id` bigint[21] unsigned NOT NULL
] ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
0 trong cơ sở dữ liệu CREATE TABLE `slow_log` [
`start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
`user_host` mediumtext NOT NULL,
`query_time` time NOT NULL,
`lock_time` time NOT NULL,
`rows_sent` int[11] NOT NULL,
`rows_examined` int[11] NOT NULL,
`db` varchar[512] NOT NULL,
`last_insert_id` int[11] NOT NULL,
`insert_id` int[11] NOT NULL,
`server_id` int[10] unsigned NOT NULL,
`sql_text` mediumtext NOT NULL,
`thread_id` bigint[21] unsigned NOT NULL
] ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
2 chưaNếu không, bạn phải tạo chúng, lưu ý rằng bạn phải tạo trong cơ sở dữ liệu
CREATE TABLE `slow_log` [
`start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
`user_host` mediumtext NOT NULL,
`query_time` time NOT NULL,
`lock_time` time NOT NULL,
`rows_sent` int[11] NOT NULL,
`rows_examined` int[11] NOT NULL,
`db` varchar[512] NOT NULL,
`last_insert_id` int[11] NOT NULL,
`insert_id` int[11] NOT NULL,
`server_id` int[10] unsigned NOT NULL,
`sql_text` mediumtext NOT NULL,
`thread_id` bigint[21] unsigned NOT NULL
] ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
2- Để tạo bảng
0CREATE TABLE `slow_log` [ `start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `user_host` mediumtext NOT NULL, `query_time` time NOT NULL, `lock_time` time NOT NULL, `rows_sent` int[11] NOT NULL, `rows_examined` int[11] NOT NULL, `db` varchar[512] NOT NULL, `last_insert_id` int[11] NOT NULL, `insert_id` int[11] NOT NULL, `server_id` int[10] unsigned NOT NULL, `sql_text` mediumtext NOT NULL, `thread_id` bigint[21] unsigned NOT NULL ] ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
CREATE TABLE `general_log` [
`event_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
`user_host` mediumtext NOT NULL,
`thread_id` bigint[21] unsigned NOT NULL,
`server_id` int[10] unsigned NOT NULL,
`command_type` varchar[64] NOT NULL,
`argument` mediumtext NOT NULL
] ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log'
Nhật ký truy vấn chung là bản ghi chung về những gì
CREATE TABLE `slow_log` [
`start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
`user_host` mediumtext NOT NULL,
`query_time` time NOT NULL,
`lock_time` time NOT NULL,
`rows_sent` int[11] NOT NULL,
`rows_examined` int[11] NOT NULL,
`db` varchar[512] NOT NULL,
`last_insert_id` int[11] NOT NULL,
`insert_id` int[11] NOT NULL,
`server_id` int[10] unsigned NOT NULL,
`sql_text` mediumtext NOT NULL,
`thread_id` bigint[21] unsigned NOT NULL
] ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
3 đ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. Nhật ký truy vấn chung có thể rất hữu ích khi bạn nghi ngờ có lỗi ở một ứng dụng khách và muốn biết chính xác những gì ứng dụng đã gửi cho _______13- Và bảng
1CREATE TABLE `slow_log` [ `start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `user_host` mediumtext NOT NULL, `query_time` time NOT NULL, `lock_time` time NOT NULL, `rows_sent` int[11] NOT NULL, `rows_examined` int[11] NOT NULL, `db` varchar[512] NOT NULL, `last_insert_id` int[11] NOT NULL, `insert_id` int[11] NOT NULL, `server_id` int[10] unsigned NOT NULL, `sql_text` mediumtext NOT NULL, `thread_id` bigint[21] unsigned NOT NULL ] ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
CREATE TABLE `slow_log` [
`start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
`user_host` mediumtext NOT NULL,
`query_time` time NOT NULL,
`lock_time` time NOT NULL,
`rows_sent` int[11] NOT NULL,
`rows_examined` int[11] NOT NULL,
`db` varchar[512] NOT NULL,
`last_insert_id` int[11] NOT NULL,
`insert_id` int[11] NOT NULL,
`server_id` int[10] unsigned NOT NULL,
`sql_text` mediumtext NOT NULL,
`thread_id` bigint[21] unsigned NOT NULL
] ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
Nhật ký truy vấn chậm bao gồm các câu lệnh SQL mất hơn
CREATE TABLE `slow_log` [
`start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
`user_host` mediumtext NOT NULL,
`query_time` time NOT NULL,
`lock_time` time NOT NULL,
`rows_sent` int[11] NOT NULL,
`rows_examined` int[11] NOT NULL,
`db` varchar[512] NOT NULL,
`last_insert_id` int[11] NOT NULL,
`insert_id` int[11] NOT NULL,
`server_id` int[10] unsigned NOT NULL,
`sql_text` mediumtext NOT NULL,
`thread_id` bigint[21] unsigned NOT NULL
] ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
6 giây để thực thi và yêu cầu ở CREATE TABLE `slow_log` [
`start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
`user_host` mediumtext NOT NULL,
`query_time` time NOT NULL,
`lock_time` time NOT NULL,
`rows_sent` int[11] NOT NULL,
`rows_examined` int[11] NOT NULL,
`db` varchar[512] NOT NULL,
`last_insert_id` int[11] NOT NULL,
`insert_id` int[11] NOT NULL,
`server_id` int[10] unsigned NOT NULL,
`sql_text` mediumtext NOT NULL,
`thread_id` bigint[21] unsigned NOT NULL
] ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
7 hàng để được kiểm tra. Nhật ký truy vấn chậm có thể được sử dụng để tìm các truy vấn mất nhiều thời gian để thực thi và do đó là các ứng cử viên để tối ưu hóaCác giá trị tối thiểu và mặc định của
CREATE TABLE `slow_log` [
`start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
`user_host` mediumtext NOT NULL,
`query_time` time NOT NULL,
`lock_time` time NOT NULL,
`rows_sent` int[11] NOT NULL,
`rows_examined` int[11] NOT NULL,
`db` varchar[512] NOT NULL,
`last_insert_id` int[11] NOT NULL,
`insert_id` int[11] NOT NULL,
`server_id` int[10] unsigned NOT NULL,
`sql_text` mediumtext NOT NULL,
`thread_id` bigint[21] unsigned NOT NULL
] ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
6 lần lượt là 0 và 10. Giá trị có thể được chỉ định ở độ phân giải micro giây2. Cho phép ghi nhật ký truy vấn trên cơ sở dữ liệu
SET global general_log = 1;
SET global log_output = 'table';
3. Bây giờ bạn có thể xem nhật ký bằng cách chạy truy vấn này
________số 8
4. Nếu bạn muốn tắt ghi nhật ký truy vấn trên cơ sở dữ liệu, hãy chạy truy vấn này
SET global general_log = 0;
Sử dụng TablePlus, bạn có thể bật nhật ký giao diện điều khiển từ GUI
Để bật/tắt nhật ký, bấm vào nút nhật ký bảng điều khiển gần trên cùng bên phải hoặc sử dụng phím tắt Cmd + Shift + C
Bạn cũng có thể chọn ghi nhật ký truy vấn dữ liệu, truy vấn meta hoặc tất cả truy vấn
Bạn mới sử dụng TablePlus? .