max_binlog_size & dimensione del cestino


8

Ho un problema con il disco intero

-rw-rw----  1 mysql mysql 1073741982 2012-07-03 18:14 mysql-bin.000034
-rw-rw----  1 mysql mysql 1073741890 2012-07-04 14:39 mysql-bin.000035
-rw-rw----  1 mysql mysql 1073741988 2012-07-05 09:16 mysql-bin.000036
-rw-rw----  1 mysql mysql 1073741964 2012-07-06 00:04 mysql-bin.000037
-rw-rw----  1 mysql mysql 1073741974 2012-07-06 21:45 mysql-bin.000038
-rw-rw----  1 mysql mysql 1073741923 2012-07-07 19:05 mysql-bin.000039
-rw-rw----  1 mysql mysql  356167680 2012-07-07 23:47 mysql-bin.000040

my.cnf:

max_binlog_size = 1073741824
log-bin = mysql-bin
max_relay_log_size = 1G
relay_log_space_limit = 2G

mysql sta creando i file mysql-bin.xxxxx e il mio disco è pieno dopo diversi giorni.

Come fare mysql per eliminare i vecchi registri?


3
SET GLOBAL expire_logs_days = 2
waza123

Risposte:


8

Oltre all'impostazione expire_logs_daysè possibile eseguire immediatamente un comando per eliminare i vecchi registri:

mysql> PURGE BINARY LOGS TO 'mysql-bin.000039';

Assicurarsi che nessuno slave stia leggendo dai registri che si sta tentando di eliminare, altrimenti si interromperà la replica.

Vedere il Manuale di riferimento di MySQL: registri binari


2
correzione minore - è expire_logs_days (nota 'log' invece di 'log') - vedi dev.mysql.com/doc/refman/5.5/en/… per maggiori dettagli
Richlv
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.