Czy istnieje sposób, aby wyświetlić poprzednie zapytania mysql za pomocą phpmyadmin?

112

Próbuję znaleźć błąd, który usuwa wiersze w mysqltabeli.

Przez całe życie nie mogę wyśledzić tego w moim PHPkodzie, więc chciałbym pracować wstecz, znajdując rzeczywiste zapytanie mysql, które usuwa wiersze.

Zalogowałem się do phpmyadmin, ale nie mogę znaleźć sposobu, aby wyświetlić historię poprzednich operacji sql.

Czy istnieje sposób, aby wyświetlić je w phpmyadmin?

chris1979
źródło
2
Nie możesz przeszukiwać kodu pod kątem DELETEinstrukcji i debugować w ten sposób?
webbiedave
Posłuchaj baol i webbiedave. Powinieneś włączyć rejestrowanie zapytań, aby zobaczyć, co się dzieje, ale nadal musisz znaleźć w kodzie, skąd pochodzą instrukcje SQL. Zacznij grepping dla „usunąć”, nie może być , że wiele DELETE w projekcie.
joeynelson
tak, zacząłem od grepowania do usunięcia, ale moje oczy muszą być zamazane b / c żadne z usunięć nie wydaje się problematyczne ... dlatego mam nadzieję, że dziennik zapytań pomoże. dziękuję wam obojgu za pomoc.
chris1979
Sprawdź, czy w Twojej bazie danych nie ma żadnych wyzwalaczy, które mogą również spowodować usunięcie
Mark Baker,

Odpowiedzi:

108

Ok, więc właściwie natknąłem się na odpowiedź.

phpMyAdmin oferuje krótką historię. Jeśli klikniesz ikonę „sql” tuż pod logo „phpMyAdmin”, otworzy się nowe okno. W nowym oknie kliknij zakładkę „Historia”.

To da ci około dwudziestu ostatnich operacji SQL.

wprowadź opis obrazu tutaj

chris1979
źródło
2
Możesz skonfigurować phpMyadmin, aby oszczędzał więcej. Mam swoją konfigurację, aby zapisać ostatnie 100000 zapytań.
Mixologic
ALE ... za każdym razem, gdy aktualizujesz (np. Ładujesz poprzednią wersję) swoją bazę danych tracisz historię (więc nie możesz ponownie zainstalować bazy danych, aby sprawdzić historię)
JinSnow
1
Nie rejestruje zmian indeksu i byłoby to dokładnie przydatne do tego celu, ponieważ nie rejestruje ich prawidłowo, kiedy je wykonujesz…
o0 '.
56
Nie widzę tej ikony SQL, gdzie jest w obecnej wersji?
Joseph Astrahan
3
@JosephAstrahan kliknij Query windowikonę obokHome
amallard
63

Na dole ekranu SQL (zapytania) znajduje się karta Konsola . Domyślnie nie jest rozwinięty, ale po kliknięciu powinien wyświetlić zakładki Opcje, Historia i Wyczyść. Kliknij historię.

Długość Historia zapytania jest ustawiony od wewnątrz Strona powiązanych ustawień , które znaleźć klikając na koła zębatego w prawym górnym rogu ekranu.

Jest to poprawne dla wersji PHP 4.5.1-1

alleyoopster
źródło
6
Długość znajduje się teraz w sekcji Strona główna | Ustawienia | Zapytania SQL | Długość historii zapytań . I irytująco „Wartość musi być równa lub mniejsza niż 25!”
Bob Stein
38

Wystarczy kliknąć konsolę u dołu ekranu w phpMyAdmin, a otrzymasz historię wykonania:

wprowadź opis obrazu tutaj

Samarth Saxena
źródło
Nie udało mi się znaleźć strony w zaakceptowanej odpowiedzi (może pochodzi z innej wersji) i to zadziałało, dzięki.
felwithe
4
Pokazuje tylko zapytania, które zostały uruchomione przez phpmyadminsamego użytkownika . Nie przedstawia pełnych zapisów wszystkich wykonanych zapytań.
Fusion
12

Aby wyświetlić poprzednie zapytania, po prostu uruchom to zapytanie w phpMyAdmin.

SELECT * FROM `general_log`

jeśli nie jest włączona, przed uruchomieniem uruchom następujące dwa zapytania.

SET GLOBAL log_output = 'TABLE';
SET GLOBAL general_log = 'ON';
Waqas Bukhary
źródło
7
bardzo przydatne dzięki. do kogokolwiek innego SELECT * FROM general_logmusi zostać zapytany w tabeli mysql, w przeciwnym razie musisz dołączyć tablename: SELECT * FROM mysql. general_log
siggi_pop
9

Nie sądzę, by phpMyAdmin na to pozwalał, ale chciałbym usłyszeć, że się mylę.

Z drugiej strony możesz włączyć rejestrowanie zapytań w MySQL: The General Query Log

baol
źródło
8

Tak, możesz logować zapytania do specjalnej tabeli bazy danych phpMyAdmin.

Zobacz SQL_history .

niebieskawy
źródło
To uzupełnia odpowiedź udzieloną powyżej przez @Dhinakar.
Meetai.com
7

Używam wersji serwera phpMyAdmin: 5.1.41.

Oferuje możliwość przeglądania historii sql poprzez phpmyadmin.pma_historytabelę.

Możesz wyszukać zapytanie w tej tabeli.

pma_history tabela ma poniższą strukturę:

wprowadź opis obrazu tutaj

Dhinakar
źródło
3

Musisz kliknąć okno zapytania tuż pod logo phpMyAdmin, otworzy się nowe okno. Po prostu kliknij kartę Historia SQL. Tam możesz zobaczyć historię zapytań SQL.

Anurag Prashant
źródło
2

Może się mylę, ale wydaje mi się, że widziałem listę poprzednich zapytań SQL w pliku sesji dla sesji phpmyadmin

Mark Baker
źródło
Przepraszam ... Źle odczytałem twoje pytanie: lista w sesji to lista poprzednich instrukcji wydanych przez phpmyadmin, więc nie zawiera żadnych instrukcji SQL wydanych przez twoje własne skrypty PHP, więc prawdopodobnie nie jest to pomocne.
Mark Baker,
1

OK, więc wiem, że jestem trochę spóźniony, a niektóre z powyższych odpowiedzi to świetne rzeczy.

Jednak jako trochę więcej, na dowolnej stronie PHPMyAdmin:

  1. Kliknij kartę SQL
  2. Kliknij „Uzyskaj automatycznie zapisane zapytanie”

spowoduje to wyświetlenie ostatnio wprowadzonego zapytania.

Jackherer
źródło
0

możesz uruchomić swój poprzedni mysql za pomocą run /PATH_PAST_MYSQL/bin/mysqld.exe

uruchamia twój ostatni mysql i możesz go zobaczyć w phpmyadmin i innej sekcji twojego systemu.

uwaga: zatrzymaj swoją obecną wersję mysql.

SF Mój angielski.

Omid Ahmadyani
źródło
0

dlaczego nie używasz eksportu, a następnie kliknij przycisk opcji „Niestandardowe - wyświetl wszystkie możliwe opcje”, a następnie wybierz bazę danych, a następnie przejdź do opcji Wyjście i wybierz opcję „Wyświetl wynik jako tekst”, po prostu przewiń w dół i Idź. Voila!

Wyświetlana nazwa
źródło