Ahora suponga que tenemos un fallo catastrófico el miércoles a las 8 AM que requiere restauración de las copias de seguridad. Para recuperarnos, primero restauramos la última copia de seguridad completa que tenemos (la del domingo a la 1 PM). El archivo de copia completo es tan solo una serie de sentencias SQL, así que restaurarlo es muy fácil:
shell> mysql < backup_sunday_1_PM.sql
En este punto, el estado de los datos ha sido restaurado al
del domingo a la 1 PM. Para restaurar los datos hechos desde
entonces, debemos usar las copias incrementales, es decir los
archivos de registro binario
gbichot2-bin.000007
y
gbichot2-bin.000008
. Extraigalos, si es
necesario, de allá donde estuviesen guardados, y luego
procese sus contenidos de la siguiente manera:
shell> mysqlbinlog gbichot2-bin.000007 gbichot2-bin.000008 | mysql
Ahora hemos recuperado los datos hasta su estado del martes a
la 1 PM, pero todavía hay cambios que faltan desde esa fecha
hasta el momento del fallo. Para no perderlos, deberíamos
haber hecho que el servidor MySQL almacenase sus registros
MySQL en un lugar seguro (discos RAID, ...) diferente del
lugar donde almacena sus archivos de datos, para que estos
registros no estuvieran únicamente en el disco destruido. (Es
decir, iniciar el servidor con la opción
--log-bin
que especifique una localización
en un dispositivo físico diferente del que contiene el
directorio de datos. De esta manera, los registros no se
pierden aún si el dispositivo que contiene el directorio
sí.) Si hubiésemos hecho esto, podríamos tener el archivo
gbichot2-bin.000009
a mano, y podríamos
aplicarlo para restaurar hasta los cambios más recientes sin
ninguna pérdida a como estaban en el momento del fallo.
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.