Eliminare i binary log su Oracle Mysql

In questo breve articolo andremo a descrivere come eliminare i binary log su Oracle Mysql.

Consideriamo di partire da una macchina Linux generica e supponiamo di aver già installato il database Oracle Mysql.

Il Log binario o binary log su Mysql o MariaDB non sono leggibili da un editor testuale, in quanto sono registrati in formato binario, per poter infatti leggere quest’ ultimi Mysql/MariaDB hanno messo a disposizione uno strumento/comando chiamato mysqlbinlog.

Accediamo alla cartella di sistema di Mysql/MariaDB

cd /var/lib/mysql

e diamo per scontato che nel file di configurazione my.cnf sono abilitati i binary log per un determinato database

log_bin=mysql-bin
log_error=mysql-bin.err
binlog_do_db=database1

a questo punto per ogni azione o comando effettuato sul motore di Mysql verranno creai i log binari

-rw-rw—- 1 mysql mysql 1073742141 Apr 23 15:21 mysql-bin.000001
-rw-rw—- 1 mysql mysql 1073741947 Apr 23 15:25 mysql-bin.000002

per poter leggere quindi questi log utilizzeremo come detto in precedenza mysqlbinlog

mysqlbinlog mysql-bin.000002

come risultato avremo

#190423 14:55:24 server id 1234 end_log_pos 1234 Query thread_id=158 exec_time=0 error_code=0
SET TIMESTAMP=1556024124/*!*/;
INSERT INTO tabella1 VALUES (1,2,3,4)
/*!*/;

nel caso in un restore di database di grandi dimensioni farà aumentare notevolmente il numero e la dimensione dei binary log, per poter eliminare o ridurre le dimensioni accediamo al motore di Mysql

sudo mysql -u root -p 

ed utilizziamo l’istruzione PURGE BINARY LOGS, in questo modo

mysql> PURGE BINARY LOGS BEFORE '2019-04-23 09:40:59';

tra apici andremo ad inserire fino a dove il motore dovrà eliminare i log, oppure

mysql> PURGE BINARY LOGS TO 'mysql-bin.000002'

significa eliminare fino al log binario 000002.

 

Potrebbero interessarti anche...