Cómo restaurar datos del registro binario

11

¿Cómo puedo restaurar mis archivos y fotos desde archivos binarios?

Anto
fuente

Respuestas:

7

¿Sabe de qué archivos binlog necesita restaurar y cuántos archivos binlog hay?

Usando la mysqlbinlogutilidad podemos ver el contenido del archivo binlog.

Si es un archivo único que puede recuperar usando:

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

Si se trata de varios archivos, simplemente extraiga todo el contenido en un archivo .sql y restaure directamente:

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

Para agregar el segundo contenido de binlog al archivo allbinlof.sql, use el siguiente comando:

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

También puede excluir ciertas declaraciones usando la opción de mysqlbinlog. Prueba esto a continuación para ver las opciones:

mysqlbinlog --help
Vinay
fuente
4

Utilice los pasos a continuación para restaurar datos de registros binarios o use este enlace para comprender el proceso de restauración: Restauración de registros binarios de MySQL

Primero, restaure la base de datos desde la última copia de seguridad

mysql -u username -ppassword database_name < dump.sql

Luego haga cualquiera de:

  • Restaurar el resto de datos del registro binario.

    Si tiene más de un registro binario para ejecutar en el servidor MySQL, el método seguro es procesarlos todos utilizando una única conexión al servidor.

    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
  • Restaurar datos en función del tiempo

    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
  • Restaurar datos en función de la posición

    mysqlbinlog --start-position=368315 \
                --stop-position=368312 mysql_bin.000001 \
                | mysql -u root -ppassword database_name
Saharsh Shah
fuente
2
El primer ejemplo de restauración de más de un registro binario es específicamente inseguro, como se señala en la documentación.
Rubén
2

Puede usar la opción -v para hacer un archivo .sql en formato READABLE .

Por ejemplo

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

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