Lịch sử đăng nhập MySQL

Đô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ó cho các mục nhập nhật ký là tệp nhật ký hoặc bảng general_log và slow_log trong cơ sở dữ liệu hệ thống mysql

Trong 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 slow_loggeneral_log trong cơ sở dữ liệu mysql chưa

Nế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 mysql

  • Để tạo bảng general_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ờ một ứng dụng khách có lỗi và muốn biết chính xác những gì ứng dụng khách đã gửi tới _______1_______3

  • Và bảng 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óa

Giá trị tối thiểu và giá trị 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ây

2. 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

Lịch sử đăng nhập MySQL


Bạn mới sử dụng TablePlus? . 


Làm cách nào để lấy lịch sử trong MySQL?

Làm cách nào để hiển thị nhật ký truy vấn trong MySQL? .
Cho phép ghi nhật ký truy vấn trên cơ sở dữ liệu. SET toàn cầu general_log = 1;
Bây giờ bạn có thể xem nhật ký bằng cách chạy truy vấn này. CHỌN * TỪ mysql. chung_log;
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 toàn cầu general_log = 0;

MySQL có lịch sử không?

Lịch sử đã lưu được tạo tự động bởi MySQL Shell và chỉ người dùng sở hữu mới có thể đọc được . Nếu không thể đọc hoặc ghi tệp lịch sử, MySQL Shell sẽ ghi lại thông báo lỗi và bỏ qua thao tác đọc hoặc ghi.

MySQL có đăng nhập đăng nhập không?

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à máy chủ ghi lại từng câu lệnh SQL nhận được từ máy khách .

Làm cách nào để kiểm tra danh sách người dùng MySQL?

Chúng ta có thể sử dụng truy vấn sau để xem danh sách tất cả người dùng trong máy chủ cơ sở dữ liệu. mysql> Chọn người dùng từ mysql. .
> mysql -u root -p
Nhập mật khẩu. *********
mysql> sử dụng mysql;
Cơ sở dữ liệu đã thay đổi
mysql> CHỌN người dùng TỪ người dùng;