sql >> Database >  >> RDS >> Mysql

Hoe de laatst uitgevoerde query's op MySQL te tonen?

Voor degenen die gezegend zijn met MySQL>=5.1.12, je kunt deze optie wereldwijd beheren tijdens runtime:

  1. Voer SET GLOBAL log_output = 'TABLE';
  2. Voer SET GLOBAL general_log = 'ON';
  3. Bekijk de tabel mysql.general_log

Als u liever uitvoer naar een bestand in plaats van naar een tabel:

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

Ik geef de voorkeur aan deze methode boven het bewerken van .cnf-bestanden omdat:

  1. je bewerkt de my.cnf . niet bestand en mogelijk permanent inschakelen van logboekregistratie
  2. je bent niet aan het vissen rond het bestandssysteem op zoek naar het querylogboek - of erger nog, afgeleid door de behoefte aan de perfecte bestemming. /var/log /var/data/log /opt /home/mysql_savior/var
  3. U hoeft de server niet opnieuw op te starten en huidige verbindingen ermee te onderbreken.
  4. het herstarten van de server laat je waar je begon (log is standaard nog steeds uitgeschakeld)

Voor meer informatie, zieMySQL 5.1 Reference Manual - Serversysteemvariabelen - general_log



  1. Fix Error "ORA-01790:expressie moet hetzelfde datatype hebben als de corresponderende expressie"

  2. Een OBJECT_NAME() ophalen uit een andere database in SQL Server

  3. Param doorgeven aan DB .execute voor WHERE IN... INT list

  4. Hoe krijg ik de namen van alle kolommen voor alle tabellen in MySQL?