2008-09-17 6 views

Respuesta

8

Documentación Sucks. Alude a que DROP DATABASE es recuperable, pero solo en condiciones extrañas no estoy familiarizado con http://dev.mysql.com/doc/refman/5.0/en/binary-log.html

De acuerdo con Docs, los binlogs son solo una secuencia de comandos ejecutados en base a un punto de referencia dado. Así que cuando hiciste "DROP DATABASE", en lugar de decir "Ah, está cayendo en la base de datos, deberíamos hacer una copia de seguridad ahora por si acaso" simplemente escribió una "DROP DATABASE" en el último binlog. La recuperación no es tan simple como reproducir la cinta al revés.

Lo que necesita hacer es recuperar la base de datos de un último bien conocido y aplicar los binlogs que ocurrieron entre ese punto de recuperación y el comando DROP.

http://dev.mysql.com/doc/refman/5.0/en/recovery-from-backups.html

¿Cómo se determina el cual binlogs utilizar aunque, claro.

No hay nada mejor que tener copias de seguridad completas del sistema de archivos. Y al menos deberías tener estos a los que recurrir.

5

Si no tiene una copia de seguridad de la base de datos, no tiene suerte. Drop ing una base de datos es permanente.

+1

¿De verdad? Pensé que los registros registraban todo. ¿Puedes explicarlo con más profundidad? –

5

Suponiendo que tenía una copia de seguridad, el registro binario contiene las cosas que han sucedido desde esa copia de seguridad. Uso de la utilidad mysqlbinlog que podría hacer algo como:

mysqlbinlog the_log_file> update.sql

aunque creo que podría tener que editar el archivo a eliminar cualquier cosa que no desea ejecutar de nuevo (como la base de datos gota declaración).

¡Buena suerte!

+0

¡Esto es realmente bueno! Muchas gracias por señalarlo. – Pitto

0

Sin copia de seguridad ninguna de las partes.

Así que voy a responder:

nunca estar en su situación más sencillo instalar el Ultra y AutoMySQLBackup ultra de gran alcance (si estás en Linux):

sudo apt-get install AutoMySQLBackup

configurarlo:

sudo nano/etc/default/AutoMySQLBackup

continuación, subir su contenido de forma automática a dRO pbox, ubuntu uno o similar.

Sólo entonces viven felices :)

0

Sólo para complementar la respuesta de Kent Fredric, puede revertir el comando drop database si está utilizando el registro binario desde la creación de la base de datos.

+0

Esto se puede agregar como comentario no como 'respuesta' –

+0

Gracias @MySQLRockstar, lo sé, pero se necesitan al menos 50 representantes para hacerlo: \ – melloc

Cuestiones relacionadas