Mysql: replica master-master ed auto flush dei vecchi logs
Usando la configurazione per la replica di MySQL master-master, avrete notato che i logs binari sono sempre tutti li, ovvero non vengono cancellati dopo che la replica è stata commpletata.
Per ovviare, si può inserire una direttiva nel file my.cnf (/etc/mysql/my.cnf) che cancella quelli più vecchi di 7 giorni:
1 2 |
[mysqld] expire-logs-days=7 |
Si può anche decidere di farlo manualmente, eseguendo nella console mysql:
1 |
mysql> PURGE BINARY LOGS BEFORE DATE(NOW() - INTERVAL 7 DAY) + INTERVAL 0 SECOND; |
Infine, operazione più “delicata”, si può verificare il file binario che lo slave sta usando al momento e poi cancellare quelli precedenti sul master. Per farlo, bisogna accedere alla console mysql dello slave e digitare:
1 |
mysql> SHOW SLAVE STATUS\G; |
questo visualizzerà una serie di informazioni tra cui il campo Relay_Master_Log_File, es:
1 |
Relay_Master_Log_File: mysql-bin.000031 |
Questo significa che si sta usando il file mysql-bin.000031 e quindi si può accedere alla console del master e scrivere:
1 |
mysql> PURGE BINARY LOGS TO 'mysql-bin.000031'; |
enjoy!
Ti interessa acquistare un dominio a prezzi ultraconvenienti? clicca qui
Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario 🙂
Commenta