Verifica se al momento sto acquisendo traffico con il registro generale:
SELECT @@general_log; -- 1 if capturing, 0 if not
-- for me, a 1. This means I have been capturing (good for development. Poor idea for Production)
SELECT @@general_log_file; -- file name for General Log if capturing.
-- for me: GeneralLogBegin_20160803_1420.log
SELECT @@datadir; -- the location of the general_log, and other logs
-- for me: C:\ProgramData\MySQL\MySQL Server 5.6\Data\
Ora disattivo l'acquisizione del registro generale di seguito, perché il mio stava catturando:
SET GLOBAL general_log=0; -- stop logging
SPOSTO il mio file di registro in una directory di backup, rinominandolo in GL_from_20160803_1420_to_20160806_1559
C'è poca ambiguità nel contenuto e nell'intervallo data/ora di acquisizione incarnato dal file sopra.
Imposta il nuovo nome per l'acquisizione del file di registro (inizio segmento per nome file)
SET GLOBAL general_log_file='GeneralLogBegin_20160806_1559.log';
SET GLOBAL general_log=1; -- Start logging again
Esegui una mia app che si connette al server e il registro generale contiene:
ChunkA:
160806 16:08:37 170 Connect [email protected] on stackoverflow
170 Query SHOW VARIABLES
170 Query SELECT TIMEDIFF(NOW(), UTC_TIMESTAMP())
170 Query SHOW COLLATION
170 Query SET NAMES latin1
170 Query SET character_set_results=NULL
170 Init DB my_db_name
Nota:potrebbe essere necessario farlo
mysqladmin -u root -p flush-log
(richiesta password) per svuotare i log dalla cache al file. A proposito, Sublime Text è fantastico per l'aggiornamento automatico di un file di testo attualmente caricato. Ad esempio, un file di registro.
Quindi il mio ChunkA
sopra c'è lo stub di connessione di una nuova connessione in arrivo. È guidato dai comandi del programma in uso, qualunque esso sia. È prima dei comandi del tuo programma che sei abituato e codifica. Se crei continuamente nuove connessioni, esegui il codice che scrivi e ti disconnetti, beh, questi fanno tutti parte del bagaglio. Non hai il controllo dell'ottimizzazione in modo semplice.
Quello che dovresti considerare di fare è disattivare il registro delle query generali in un ambiente di produzione. E abilitandolo solo durante le impostazioni dell'ambiente di debug e test. Averlo acceso aumenta il carico inutile per lo stack.