Comando SQL para mostrar el historial de consultas


Respuestas:


161

tratar

 cat ~/.mysql_history

esto le mostrará todos los comandos mysql que se ejecutaron en el sistema


2
bueno, no todos , la supresión ocurre para algunos que contienen cadenas como "contraseña".
mckenzm

1
Tampoco suele estar actualizado con su CLI MySQL abierta, por lo que es probable que tenga que exitMySQL y luego leer el archivo.
Joel Mellon

1
Esto solo muestra los comandos ejecutados por el usuario que está conectado.
Christia

1
Cómo hacer esto en windowss
ßiansor Å. Ålmerol

¿Existe la posibilidad de que se supriman otros comandos o que no estén ordenados? Y, ¿el registro se actualiza automáticamente en tiempo real?
Drubio

32

Para MySQL> 5.1.11 o MariaDB

  1. SET GLOBAL log_output = 'TABLE';
  2. SET GLOBAL general_log = 'ON';
  3. Echa un vistazo a la mesa mysql.general_log

Si desea exportar a un archivo de registro:

  1. SET GLOBAL log_output = "FILE";
  2. SET GLOBAL general_log_file = "/path/to/your/logfile.log"
  3. SET GLOBAL general_log = 'ON';

Como lo menciona jeffmjack en los comentarios, estas configuraciones se olvidarán antes de la próxima sesión a menos que edite los archivos de configuración (por ejemplo /etc/mysql/my.cnf, edite , luego reinicie para aplicar los cambios).

Ahora, si quieres puedes tail -f /var/log/mysql/mysql.log

Más información aquí: Variables del sistema del servidor


3
Solo una aclaración sobre lo anterior: los comandos copiar y pegar aquí son para una sola sesión de MySQL, por ejemplo, puede ingresarlos desde la línea de comandos interactiva de MySQL. Si desea que sean una característica permanente de su instancia de MySQL, debe poner esos comandos en /etc/mysql/my.cnf y reiniciar el servicio MySQL.
jeffmjack

También tenga en cuenta que el registro se detendrá si /path/to/your/logfile.logse elimina, hasta que SET GLOBAL general_log_file = "/path/to/your/logfile.log";vuelva a ejecutar (¿o quizás reinicie la sesión si editó la configuración?).
Skippy le Grand Gourou

21

(Linux) Abra su Terminal, ctrl+alt+t ejecute el comando

 cat ~/.mysql_history

Obtendrá todo el historial de consultas de mysql anterior, disfrute :)


18

Lo encontrarás ahí

~/.mysql_history

Lo hará legible (sin los escapes) así:

sed "s/\\\040/ /g" < .mysql_history

2

Mira ~/.myslgui/query-browser/history.xml aquí puedes encontrar las últimas consultas realizadas con mysql_query_browser (algunos días de antigüedad)



-1

Puede ver la caché de consultas: http://www.databasejournal.com/features/mysql/article.php/3110171/MySQLs-Query-Cache.htm pero es posible que no le dé acceso a las consultas reales y será muy acertar y fallar si funcionó (juego de palabras sutil)

Pero es muy probable que MySQL Query Browser mantenga su propia lista de consultas que ejecuta, fuera del motor MySQL. Tendrías que hacer lo mismo en tu aplicación.

Editar: vea el comentario de dan m que conduce a esto: ¿Cómo mostrar las últimas consultas ejecutadas en MySQL? parece sano.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.