I checksum degli eventi del log binario
MariaDB 5.3 supporta il checksum degli eventi del log binario. Si tratta di un backport della stessa funzionalità presente in MySQL 5.6. E' stato implementato con MWL#180.
I checksums possono essere abilitati attraverso l'opzione binlog_checksum
:
binlog_checksum
- Descrizione: Abilita/disabilita i checksum del log binario.
- Riga di comando:
--binlog_checksum=[0|1]
- Scope: Globale
- Tipo di accesso: Può essere modificata dinamicamente
- Tipo:
bool
- Valore predefinito:
OFF (0)
- Introdotto in: MariaDB 5.3
La variabile può essere modificata dinamicamente senza riavviare il server. Assegnandole un qualsiasi valore (anche il suo valore attuale) si forza la rotazione dei log binari (questo per evitare di avere un singolo binlog dove alcuni eventi hanno il checksum e altri no).
Quando i checksum sono abilitati, gli slave usano i checksum per verificare che gli eventi che ricevono attraverso la rete non contengano errori, e se viene rilevata una corruzione dei dati si fermano generando un errore.
Inoltre, il server può essere configurato per controllare i checksum in altri due casi.
Uno è quando il master legge gli eventi dal suo binlog, per esempio quando li invia agli slave, oppure quando viene eseguita un'istruzione come SHOW BINLOG EVENTS. Questo comportamento è controllato dalla variabile master_verify_checksum, e serve a rilevare le corruzioni dei dati nei file del log binario.
L'altro è quando il thread slave SQL legge gli eventi dal relay log. Questo comportamento è controllato dall'opzione slave_sql_verify_checksum, e serve a rilevare le corruzioni dei dati nei file del relay log.
master_verify_checksum
- Descrizione: Verifica i checksum del log binario quando legge gli eventi sul master.
- Riga di comando:
--master_verify_checksum=[0|1]
- Contesto: Globale
- Tipo di accesso: Può essere modificato dinamicamente
- Tipo:
bool
- Valore predefinito:
OFF (0)
- Introdotto in: MariaDB 5.3
slave_sql_verify_checksum
- Descrizione: Verifica i checksum del log binario quando il thread slave SQL legge gli eventi dal relay log.
- Riga di comando:
--slave_sql_verify_checksum=[0|1]
- Contesto: Globale
- Tipo di accesso: Può essere modificato dinamicamente
- Tipo:
bool
- Valore predefinito:
ON (1)
- Introdotto in: MariaDB 5.3
Il client mysqlbinlog per default non verifica i checksum quando legge un file del log binario, tuttavia si può modificare questo comportamento tramite l'opzione verify-binlog-checksum:
- Nome variabile:
verify-binlog-checksum
- Tipo:
bool
- Valore predefinito:
OFF