2011-09-11 6 views
21

Ho provato diversi comandi (FLUSH LOGS, PURGE MASTER) ma nessuno cancella i file di registro (se precedentemente attivato) o le tabelle di log (mysql/slow_log.CSV e mysql/general_log.CSV e le loro controparti .frm e .CSM) .In MySQL, come posso cancellare/svuotare/cancellare tutti i log che non sono necessari?

SHOW BINARY LOGS restituisce "Non si sta utilizzando la registrazione binaria".

Edit: Ho trovato questa semplice soluzione per cancellare i registri della tabella (ma non ancora i log file utilizzando un comando MySQL): tronchi

TRUNCATE mysql.general_log; 
TRUNCATE mysql.slow_log; 

risposta

24

INCASSO appena si chiude e riapre i file di log. Se i file di registro sono grandi, non li ridurrà. Se sei su Linux, puoi usare mv per rinominare i file di registro mentre sono in uso, e quindi dopo FLUSH LOGS, sai che MySQL sta scrivendo su un nuovo file piccolo e puoi rimuovere i vecchi file di grandi dimensioni.

I log binari sono diversi. Per eliminare i vecchi binlog, utilizzare PURGE BINARY LOGS. Assicurati che i tuoi schiavi (se ce ne sono) non stiano ancora usando i log binari. Cioè, esegui SHOW SLAVE STATUS per vedere su quale file binlog stanno lavorando e non eliminare quel file o file successivi.

Ricordare inoltre che i binlogs sono utili per il ripristino point-in-time nel caso in cui sia necessario eseguire il ripristino dai backup e quindi riapplicare i binlog per aggiornare il database. Se è necessario utilizzare i binlogs in questo modo, non eliminare i binlog che sono stati scritti dall'ultimo backup.

+0

E per Windows? – pollux1er

+4

@ pollux1er, io non faccio Windows, mi dispiace. –

+0

Ho appena dovuto riavviare mysql dopo i comandi 'mv' e' rm', usando 'sudo service mysql restart' e poi per assicurarsi che mysql fosse di nuovo in esecuzione usando' sudo service mysql status' – dazito

0

Sembra registrazione binaria non è abilitata sul server .E Credo che si desidera elimina i vecchi file di log che sono stati utilizzati/creati al momento della registrazione binaria abilitata. puoi cancellarli manualmente usando il comando 'rm' se vuoi. se si desidera abilitare la registrazione binaria, è possibile fare lo stesso aggiornando il file di configuarazione (ma è necessario riavviare il server se è già in esecuzione). È possibile fare riferimento ai collegamenti seguenti. http://dev.mysql.com/doc/refman/5.0/en/replication-options-binary-log.html#option_mysqld_log-bin http://dev.mysql.com/doc/refman/5.0/en/replication-options-binary-log.html#sysvar_log_bin