Tôi muốn hiển thị lịch sử lệnh sql đã thực thi của mình trong Trình duyệt truy vấn MYSQL. Câu lệnh sql để hiển thị lịch sử là gì?
Tôi muốn hiển thị lịch sử lệnh sql đã thực thi của mình trong Trình duyệt truy vấn MYSQL. Câu lệnh sql để hiển thị lịch sử là gì?
Câu trả lời:
thử
cat ~/.mysql_history
điều này sẽ hiển thị cho bạn tất cả các lệnh mysql đã chạy trên hệ thống
exit
MySQL sau đó đọc tệp.
Đối với MySQL> 5.1.11 hoặc MariaDB
SET GLOBAL log_output = 'TABLE';
SET GLOBAL general_log = 'ON';
mysql.general_log
Nếu bạn muốn xuất ra tệp nhật ký:
SET GLOBAL log_output = "FILE";
SET GLOBAL general_log_file = "/path/to/your/logfile.log"
SET GLOBAL general_log = 'ON';
Như đã đề cập bởi jeffmjack trong nhận xét, các cài đặt này sẽ bị quên trước phiên tiếp theo trừ khi bạn chỉnh sửa tệp cấu hình (ví dụ: chỉnh sửa /etc/mysql/my.cnf
, sau đó khởi động lại để áp dụng thay đổi).
Bây giờ, nếu bạn muốn bạn có thể tail -f /var/log/mysql/mysql.log
/path/to/your/logfile.log
bị xóa, cho đến khi bạn thực thi SET GLOBAL general_log_file = "/path/to/your/logfile.log";
lại (hoặc có thể khởi động lại phiên nếu bạn đã chỉnh sửa cấu hình?).
(Linux) Mở Terminal của bạn, ctrl+alt+t
chạy lệnh
cat ~/.mysql_history
bạn sẽ nhận được tất cả lịch sử truy vấn mysql trước đó tận hưởng :)
Nhìn vào ~/.myslgui/query-browser/history.xml
đây, bạn có thể tìm thấy các truy vấn cuối cùng được thực hiện với mysql_query_browser
(cách đây vài ngày)
Bạn có thể xem lịch sử từ ~ / .mysql_history. Tuy nhiên nội dung của tập tin được mã hóa bởi wctomb. Để xem nội dung:
shell> cat ~ / .mysql_history | python2.7 -c "import sys; print (''. join ([l.decode ('unicode-Escape') for l in sys.stdin]))"
Bạn có thể xem bộ đệm truy vấn: http://www.databasejournal.com/features/mysql/article.php/3110171/MySQLs-Query-Cache.htm nhưng nó có thể không cung cấp cho bạn quyền truy cập vào các truy vấn thực tế và sẽ rất hit-and-miss nếu nó hoạt động (ý định chơi chữ tinh tế)
Nhưng MySQL Query Browser rất có thể duy trì danh sách truy vấn của riêng nó mà nó chạy, bên ngoài MySQL engine. Bạn sẽ phải làm điều tương tự trong ứng dụng của mình.
Chỉnh sửa: xem bình luận của dan m dẫn đến điều này: Làm thế nào để hiển thị các truy vấn cuối cùng được thực thi trên MySQL? trông âm thanh.