Có cách nào để xem các truy vấn mysql trước đây bằng phpmyadmin không?


112

Tôi đang cố gắng tìm ra một lỗi đang xóa các hàng trong mysqlbảng.

Đối với cuộc đời của tôi, tôi không thể theo dõi nó trong PHPmã của mình , vì vậy tôi muốn làm việc ngược lại bằng cách tìm truy vấn mysql thực sự đang xóa các hàng.

Tôi đã đăng nhập vào phpmyadmin, nhưng không thể tìm thấy cách xem lịch sử của các hoạt động sql trước đây.

Có cách nào để xem chúng trong phpmyadmin không?


2
Bạn không thể tìm kiếm mã của mình cho các DELETEcâu lệnh và gỡ lỗi theo cách đó?
webbiedave,

Nghe baol và webbiedave. Bạn nên bật ghi nhật ký truy vấn để xem điều gì đang xảy ra, nhưng sau đó bạn vẫn phải tìm nguồn gốc của các câu lệnh SQL trong mã của bạn. Bắt đầu grepping cho "xóa", không thể có nhiều tuyên bố xóa trong dự án của bạn.
joeynelson

vâng, tôi thực sự đã bắt đầu bằng cách bôi đen để xóa, nhưng mắt tôi phải nhìn vào b / c không có thao tác xóa nào có vẻ có vấn đề ... đó là lý do tại sao tôi hy vọng nhật ký truy vấn sẽ giúp ích. cảm ơn cả hai bạn đã giúp đỡ của bạn.
chris1979 14/07/10

Kiểm tra cho bất kỳ trigger trong cơ sở dữ liệu của bạn có thể làm xóa cũng
Mark Baker

Câu trả lời:


108

Ok, vì vậy tôi thực sự tình cờ tìm ra câu trả lời.

phpMyAdmin cung cấp một lịch sử ngắn gọn. Nếu bạn nhấp vào biểu tượng 'sql' ngay bên dưới logo 'phpMyAdmin', nó sẽ mở ra một cửa sổ mới. Trong cửa sổ mới, chỉ cần nhấp vào tab 'lịch sử'.

Điều đó sẽ cung cấp cho bạn khoảng hai mươi phép toán SQL cuối cùng.

nhập mô tả hình ảnh ở đây


2
Bạn có thể cấu hình phpMyadmin để tiết kiệm hơn. Tôi đã thiết lập để lưu 100000 truy vấn cuối cùng.
Mixologic

NHƯNG ... mỗi khi bạn cập nhật (ví dụ: tải một phiên bản trước) cơ sở dữ liệu của bạn, bạn mất lịch sử của bạn (nên bạn không thể cài đặt lại một cơ sở dữ liệu để kiểm tra xem nó lịch sử)
JinSnow

1
Không ghi nhật ký các thay đổi chỉ mục, và nó chính xác sẽ hữu ích cho việc đó, vì nó không ghi nhật ký đúng cách khi bạn thực thi chúng…
o0 '.

56
Tôi không thấy biểu tượng SQL này, nó ở đâu trong phiên bản hiện tại?
Joseph Astrahan

3
@JosephAstrahan nhấp vào Query windowbiểu tượng bên cạnhHome
amallard

63

Có một tab Bảng điều khiển ở cuối màn hình (truy vấn) SQL . Theo mặc định, nó không được mở rộng, nhưng khi nhấp vào nó sẽ hiển thị các tab cho Tùy chọn, Lịch sử và Xóa. Bấm vào lịch sử.

Độ dài lịch sử truy vấn được đặt từ trong Cài đặt liên quan đến trang được tìm thấy bằng cách nhấp vào bánh răng ở trên cùng bên phải màn hình.

Điều này đúng cho phiên bản PHP 4.5.1-1


6
Chiều dài hiện nằm trong Trang chủ | Cài đặt | Truy vấn SQL | Độ dài lịch sử truy vấn . Và bực bội "Giá trị phải bằng hoặc thấp hơn 25!"
Bob Stein

38

Bạn chỉ cần nhấp vào bảng điều khiển ở cuối màn hình trong phpMyAdmin và bạn sẽ nhận được lịch sử Thực thi:

nhập mô tả hình ảnh ở đây


Tôi không thể tìm thấy trang trong câu trả lời được chấp nhận (có thể là từ một phiên bản khác) và điều này hiệu quả với tôi, cảm ơn.
felwithe

4
Điều này chỉ hiển thị các Truy vấn do chính người dùng chạy phpmyadmin. Nó không hiển thị các bản ghi đầy đủ của tất cả các truy vấn được thực hiện.
Fusion vào

12

Để xem các truy vấn trước đây, chỉ cần chạy truy vấn này trong phpMyAdmin.

SELECT * FROM `general_log`

nếu nó chưa được kích hoạt, hãy chạy hai truy vấn sau trước khi chạy nó.

SET GLOBAL log_output = 'TABLE';
SET GLOBAL general_log = 'ON';

7
rất hữu ích cảm ơn. cho bất kỳ ai khác SELECT * FROM general_logphải được truy vấn bên trong bảng mysql nếu không bạn phải bao gồm tên bảng: SELECT * FROM mysql. general_log
siggi_pop

9

Tôi không nghĩ rằng phpMyAdmin cho phép bạn làm điều đó, nhưng tôi muốn biết rằng tôi đã sai.

Mặt khác, bạn có thể kích hoạt ghi truy vấn trong MySQL: Nhật ký truy vấn chung


8

Có, bạn có thể ghi các truy vấn vào bảng DB phpMyAdmin đặc biệt.

Xem SQL_history .


Điều này bổ sung cho câu trả lời được đưa ra ở trên bởi @Dhinakar.
Meetai.com

7

Tôi đang sử dụng phiên bản máy chủ phpMyAdmin: 5.1.41.

Nó cung cấp khả năng xem lịch sử sql thông qua phpmyadmin.pma_historybảng.

Bạn có thể tìm kiếm truy vấn của mình trong bảng này.

pma_history bảng có cấu trúc dưới đây:

nhập mô tả hình ảnh ở đây


3

Bạn phải nhấp vào cửa sổ truy vấn ngay bên dưới logo phpMyAdmin, một cửa sổ mới sẽ mở ra. Chỉ cần nhấp vào tab Lịch sử SQL. Ở đó bạn có thể thấy lịch sử của Truy vấn SQL.


2

Tôi có thể sai, nhưng tôi tin rằng tôi đã xem danh sách các truy vấn SQL trước đó trong tệp phiên cho các phiên phpmyadmin


Xin lỗi ... Tôi đã đọc sai câu hỏi của bạn: danh sách trong phiên là danh sách các câu lệnh trước đó được phát hành thông qua phpmyadmin, vì vậy nó không chứa bất kỳ câu lệnh SQL nào được phát hành bởi các tập lệnh PHP của riêng bạn, vì vậy có lẽ không hữu ích.
Mark Baker

1

OK, vì vậy tôi biết tôi hơi muộn và một số câu trả lời ở trên là những điều tuyệt vời.

Tuy nhiên, bổ sung một chút, trong bất kỳ trang PHPMyAdmin nào:

  1. Nhấp vào tab SQL
  2. Nhấp vào 'Nhận truy vấn được lưu tự động'

điều này sau đó sẽ hiển thị truy vấn đã nhập cuối cùng của bạn.


0

bạn có thể chạy mysql trước đây của mình với run /PATH_PAST_MYSQL/bin/mysqld.exe

nó chạy mysql cuối cùng của bạn và bạn có thể thấy nó trong phpmyadmin và phần khác của hệ thống của bạn.

thông báo: dừng phiên bản mysql hiện tại của bạn.

SF Tiếng Anh của tôi.


0

Tại sao bạn không sử dụng xuất, sau đó nhấp vào nút radio 'Tùy chỉnh - hiển thị tất cả các tùy chọn có thể có', sau đó chọn cơ sở dữ liệu của bạn, sau đó đi đến Đầu ra và chọn 'Xem đầu ra dưới dạng văn bản' chỉ cần cuộn xuống và Đi. Thì đấy!


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.