O bin-log registrará todas as consultas de sempre que foi iniciado, então você tem basicamente três opções:
- O bin-log foi ativado desde o início e registrou todas as consultas no banco de dados. Neste caso, você pode simplesmente restaurar o banco de dados inteiro a partir do log de caixa.
- Você tem um backup antigo feito algum tempo depois que o bin-log foi ativado. Nesse caso, você pode restaurar a partir do backup e iniciar a partir do local no log de bin que o backup foi feito (backup incremental).
- O bin-log não contém todas as consultas da origem do banco de dados e você não tem backup. Neste caso você (eventualmente) será capaz de restaurar todos os dados contidos no bin-log, mas todos os dados não presentes estarão perdidos para sempre. Você pode tentar restaurar manualmente qualquer dado perdido, mas dependendo da estrutura / tamanho de seus dados, isso pode ser simples ou impossível.
Dos sons, você não tem backups, o que deixa as opções 1 e 3. Verifique o primeiro arquivo bin-log e veja de onde vem a entrada mais antiga para ver qual caso se aplica a você. Se você está procurando por um uso específico do mysqlbinlog, veja a documentação oficial que explica as coisas bonitas bem.
Se você se recuperar disso, a próxima coisa que você deve / deve fazer é implementar um agendamento de backup regular do banco de dados, incluindo cópias externas.