Como restaurar dados do log binário

11

Como posso restaurar meus arquivos e fotos de arquivos binários?

Anto
fonte

Respostas:

7

Você sabe de quais arquivos binlog você precisa restaurar e quantos arquivos binlog existem?

Usando o mysqlbinlogutilitário, podemos visualizar o conteúdo do arquivo binlog.

Se for um único arquivo, você pode recuperar usando:

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

Se houver vários arquivos, basta extrair todo o conteúdo para um arquivo .sql e restaurá-lo diretamente:

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

Para anexar o segundo conteúdo do binlog ao arquivo allbinlof.sql, use o comando abaixo:

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

Você também pode excluir determinadas instruções usando a opção mysqlbinlog. Tente isso abaixo para opções:

mysqlbinlog --help
Vinay
fonte
4

Use as etapas abaixo para restaurar dados de logs binários ou use este link para entender o processo de restauração: Restauração de Log Binário do MySQL

Primeiro, restaure o banco de dados a partir do backup mais recente

mysql -u username -ppassword database_name < dump.sql

Em seguida, faça um dos seguintes:

  • Restaure o restante dos dados do log binário.

    Se você possui mais de um log binário para executar no servidor MySQL, o método seguro é processá-los todos usando uma única conexão com o servidor.

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

    ou:

    mysqlbinlog mysql_bin.000001 mysql_bin.000002 | mysql -u root -ppassword database_name
  • Restaurar dados com base no 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
  • Restaurar dados com base na posição

    mysqlbinlog --start-position=368315 \
                --stop-position=368312 mysql_bin.000001 \
                | mysql -u root -ppassword database_name
Saharsh Shah
fonte
2
O primeiro exemplo de restauração de mais de um log binário é especificamente inseguro, conforme observado na documentação.
Reuben
2

Você pode usar a opção -v para criar o arquivo .sql no formato READABLE .

Por exemplo

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

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