Come ripristinare i dati dal registro binario


11

Come posso ripristinare i miei file e le mie foto da file binari?

Risposte:


7

Sai da quali file binlog devi ripristinare e quanti file binlog ci sono?

Utilizzando l' mysqlbinlogutilità possiamo visualizzare il contenuto del file binlog.

Se è un singolo file che puoi recuperare usando:

mysqlbinlog /var/lib/mysql-bin.000016 | mysql uroot pReset123

Se si tratta di più file, basta estrarre tutto il contenuto in un file .sql e ripristinarlo direttamente:

mysqlbinlog /var/lib/mysql-bin.000016 > /logs/allbinlog.sql

Per aggiungere il secondo contenuto binlog al file allbinlof.sql, utilizzare il comando seguente:

mysqlbinlog /var/lib/mysql-bin.000016 >> /logs/allbinlog.sql

Puoi anche escludere determinate istruzioni usando l'opzione di mysqlbinlog. Prova questo qui sotto per le opzioni:

mysqlbinlog --help

4

Utilizzare i passaggi seguenti per ripristinare i dati dai registri binari o utilizzare questo collegamento per comprendere il processo di ripristino: Ripristino del registro binario MySQL

Innanzitutto, ripristinare il database dall'ultimo backup

mysql -u username -ppassword database_name < dump.sql

Quindi esegui una delle seguenti operazioni:

  • Ripristina il resto dei dati dal registro binario.

    Se hai più di un registro binario da eseguire sul server MySQL, il metodo sicuro è quello di elaborarli tutti usando una singola connessione al server.

    mysqlbinlog mysql_bin.000001 | mysql -u root -ppassword database_name
    mysqlbinlog mysql_bin.000002 | mysql -u root -ppassword database_name

    o:

    mysqlbinlog mysql_bin.000001 mysql_bin.000002 | mysql -u root -ppassword database_name
  • Ripristinare i dati in base al tempo

    mysqlbinlog --start-datetime="2005-04-20 10:01:00" \
                --stop-datetime="2005-04-20 9:59:59" mysql_bin.000001 \
                | mysql -u root -ppassword database_name
  • Ripristina i dati in base alla posizione

    mysqlbinlog --start-position=368315 \
                --stop-position=368312 mysql_bin.000001 \
                | mysql -u root -ppassword database_name

2
Il primo esempio di ripristino di più di un registro binario non è specificamente sicuro, come indicato nella documentazione.
Reuben,

2

È possibile utilizzare l' opzione -v per creare il file .sql in formato LEGGIBILE .

Per esempio

mysqlbinlog -v /var/lib/mysql-bin.000016 > /logs/allbinlog.sql

mysqlbinlog -v /var/lib/mysql-bin.000016 >> /logs/allbinlog.sql
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.