Como faço para restaurar a partir de um comando de banco de dados soltar usando um log mysql binário?

StackOverflow https://stackoverflow.com/questions/88800

  •  01-07-2019
  •  | 
  •  

Pergunta

Como posso restaurar um banco de dados mysql que foi abandonada usando um comando "drop banco de dados"? Eu tenho acesso a logs binários que deve fazer este tipo de reversão possível.

Foi útil?

Solução

Documentação suga. Ele alude a DROP DATABASE ser recuperável, mas apenas em condições ímpares eu não estou familiarizado com http://dev.mysql.com/doc/refman/5.0/en/binary-log.html

De acordo com o Google Docs, log binário são apenas uma seqüência de comandos executados com base em um determinado ponto de referência. De modo que quando você fez "DROP DATABASE", em vez de ir "Oh, hes droppping o banco de dados deve fazer backup agora apenas no caso" ele simplesmente escreveu um "DROP DATABASE" para o último log binário. A recuperação não é tão simples como tocar as costas de fita.

O que você precisa fazer é recuperar o banco de dados a partir de um passado conhecido de boa, e aplicar o log binário que aconteceram entre o ponto de recuperação eo comando DROP.

http://dev.mysql.com/ doc / refman / 5.0 / en / recuperação de-backups.html

Como se determina que log binário de usar tho, claro.

Não há nada melhor do que ter backups do sistema de arquivos inteiro. E você deve ter pelo menos estes a cair de volta para.

Outras dicas

Se você não tiver um backup do banco de dados, você está sem sorte. Gota ing um banco de dados é permanente.

Assumindo que você tinha um backup, o log binário contém o material que tem acontecido desde que o backup. Usando o utilitário mysqlbinlog você poderia fazer algo como:

mysqlbinlog the_log_file> Update.SQL

Embora eu acho que você pode ter que editar esse arquivo para remover qualquer coisa que você não deseja executar novamente (como a declaração de banco de dados gota).

Boa sorte!

Nenhum backup nenhum partido.

Então, eu vou responder:

Para nunca mais a sua situação novamente instalar o ultra simples e automysqlbackup ultra-poderosa (se você estiver em linux):

sudo apt-get install automysqlbackup

configure-o:

sudo nano / etc / default / automysqlbackup

Em seguida, enviar o seu conteúdo automaticamente para o Dropbox, ubuntu um ou similar.

Só então viver feliz:)

Apenas para complementar a resposta de Kent Fredric, você foi possível reverter o comando drop database se você estiver usando o log binário desde a criação do banco de dados.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top