¿Hay alguna forma de ver consultas anteriores de mysql con phpmyadmin?

112

Estoy tratando de rastrear un error que está eliminando filas en una mysqltabla.

Por mi vida, no puedo rastrearlo en mi PHPcódigo, así que me gustaría trabajar hacia atrás encontrando la consulta mysql real que está eliminando las filas.

Inicié sesión en phpmyadmin, pero no puedo encontrar una manera de ver el historial de operaciones SQL pasadas.

¿Hay alguna forma de verlos en phpmyadmin?

chris1979
fuente
2
¿No puedes buscar en tu código DELETEdeclaraciones y depurar de esa manera?
webbiedave
Escuche baol y webbiedave. Debe habilitar el registro de consultas para ver qué sucede, pero luego aún debe encontrar de dónde provienen las declaraciones SQL en su código. Comienza grepping para "eliminar", no puede ser que muchas declaraciones de eliminación en su proyecto.
joeynelson
sí, en realidad comencé haciendo grepping para eliminar, pero mis ojos deben pasar por alto porque ninguna de las eliminaciones parece problemática ... por eso espero que el registro de consultas ayude. gracias a ambos por su ayuda.
chris1979
Compruebe si hay desencadenantes en su base de datos que puedan hacer las eliminaciones también
Mark Baker

Respuestas:

108

Ok, entonces me encontré con la respuesta.

phpMyAdmin ofrece una breve historia. Si hace clic en el icono 'sql' justo debajo del logotipo 'phpMyAdmin', se abrirá una nueva ventana. En la nueva ventana, simplemente haga clic en la pestaña 'historial'.

Eso le dará las últimas veinte operaciones SQL.

ingrese la descripción de la imagen aquí

chris1979
fuente
2
Puede configurar phpMyadmin para ahorrar más. Tengo la mía configurada para guardar las últimas 100000 consultas.
Mixologic
PERO ... cada vez que actualiza (por ejemplo: carga una versión anterior) su base de datos pierde su historial (por lo que no puede volver a instalar una base de datos para verificar su historial)
JinSnow
1
No registra cambios de índice, y sería exactamente útil para eso, ya que tampoco los registra correctamente cuando los ejecuta…
o0 '.
56
No veo este icono de SQL, ¿dónde está en la versión actual?
Joseph Astrahan
3
@JosephAstrahan haga clic en el Query windowicono junto aHome
amallard
63

Hay una pestaña Consola en la parte inferior de la pantalla SQL (consulta). De forma predeterminada, no está expandido, pero una vez que se hace clic en él, debería mostrar las pestañas de Opciones, Historial y Borrar. Haga clic en historial.

La duración del historial de consultas se establece desde la configuración relacionada con la página, que se encuentra al hacer clic en la rueda dentada en la parte superior derecha de la pantalla.

Esto es correcto para PHP versión 4.5.1-1

alleyoopster
fuente
6
La longitud está ahora en Inicio | Configuraciones | Consultas SQL | Longitud del historial de consultas . Y enloquecedoramente "¡El valor debe ser igual o menor que 25!"
Bob Stein
38

Solo necesita hacer clic en la consola en la parte inferior de la pantalla en phpMyAdmin y obtendrá el historial ejecutado:

ingrese la descripción de la imagen aquí

Samarth Saxena
fuente
No pude encontrar la página en la respuesta aceptada (tal vez sea de una versión diferente), y esto funcionó para mí, gracias.
felwithe
4
Esto muestra solo consultas que fueron ejecutadas por el phpmyadminpropio usuario . No muestra registros completos de todas las consultas realizadas.
Fusion
12

Para ver las consultas anteriores, simplemente ejecute esta consulta en phpMyAdmin.

SELECT * FROM `general_log`

si no está habilitado, ejecute las siguientes dos consultas antes de ejecutarlo.

SET GLOBAL log_output = 'TABLE';
SET GLOBAL general_log = 'ON';
Waqas Bukhary
fuente
7
muy útil gracias. para cualquier otra persona, SELECT * FROM general_logdebe consultarse dentro de la tabla mysql, de lo contrario, debe incluir tablename: SELECT * FROM mysql. general_log
siggi_pop
9

No creo que phpMyAdmin te permita hacer eso, pero me gustaría saber que estoy equivocado.

Por otro lado, puede habilitar el registro de consultas en MySQL: el registro de consultas general

baol
fuente
8

Sí, puede registrar consultas en una tabla de base de datos phpMyAdmin especial.

Consulte SQL_history .

azulado
fuente
Esto complementa la respuesta dada anteriormente por @Dhinakar.
Meetai.com
7

Estoy usando la versión del servidor phpMyAdmin: 5.1.41.

Ofrece la posibilidad de ver el historial de SQL a través de una phpmyadmin.pma_historytabla.

Puede buscar su consulta en esta tabla.

pma_history La tabla tiene la siguiente estructura:

ingrese la descripción de la imagen aquí

Dhinakar
fuente
3

Debe hacer clic en la ventana de consulta justo debajo del logotipo de phpMyAdmin, se abrirá una nueva ventana. Simplemente haga clic en la pestaña Historial de SQL. Allí puede ver el historial de consultas SQL.

Anurag Prashant
fuente
2

Puede que me equivoque, pero creo que he visto una lista de consultas SQL anteriores en el archivo de sesión para sesiones phpmyadmin

Mark Baker
fuente
Disculpas ... Leí mal su pregunta: la lista en sesión es la lista de declaraciones anteriores emitidas a través de phpmyadmin, por lo que no contiene ninguna declaración SQL emitida por sus propios scripts PHP, por lo que probablemente no sea tan útil.
Mark Baker
1

Bien, sé que llegué un poco tarde y que algunas de las respuestas anteriores son excelentes.

Sin embargo, como un pequeño extra, en cualquier página de PHPMyAdmin:

  1. Haga clic en la pestaña SQL
  2. Haga clic en 'Obtener consulta guardada automáticamente'

esto luego mostrará su última consulta ingresada.

Jackherer
fuente
0

puede ejecutar su mysql anterior con ejecutar /PATH_PAST_MYSQL/bin/mysqld.exe

ejecuta su último mysql y puede verlo en phpmyadmin y en otra sección de su sistema.

aviso: detenga su versión actual de mysql.

SF Mi inglés.

Omid Ahmadyani
fuente
0

¿Por qué no usa la exportación? Luego haga clic en el botón de opción 'Personalizado: mostrar todas las opciones posibles', luego elija su base de datos, luego vaya a Salida y elija 'Ver salida como texto', desplácese hacia abajo y vaya. ¡Voila!

Nombre para mostrar
fuente