[+/-]
Esta sección explica un procedimiento para realizar copias de seguridad que le permiten recuperar datos tras diferentes tipos de problemas:
Fallo del sistema operativo
Fallo de energía
Fallo del sistema de ficheros
Problema de hardware (disco duro, placa madre, etc)
Los comandos de ejemplo no incluyen opciones como
--user
y --password
para
los programas mysqldump y
mysql. Usted debería incluir las opciones
que sean necesarias para que el servidor MySQL le permita
conectarse.
Asumiremos que los datos están almacenados en el motor
InnoDB
de MySQL, que tiene soporte para
transacciones y recuperación automática de fallos. Siempre
asumiremos que el servidor MySQL está bajo carga de trabajo en
el momento del fallo. Si no fuera así, no se necesitaría
ninguna recuperación.
Para casos de fallos de energía o de sistema operativo, podemos
asumir que el disco de datos de MySQL está disponible tras el
reinicio. Puede que entonces los archivos de datos de
InnoDB
no contengan datos consistentes debido
al fallo, pero InnoDB
lee sus registros y
encuentra en ellos la lista de transacciones confirmadas y no
confirmadas que todavía no han sido volcadas a sus archivos de
datos, y los vuelca. La información sobre este proceso de
recuperación de errores se le muestra al usuario a través del
registro de errores de MySQL. Lo siguiente, es un extracto de
ejemplo del registro:
InnoDB: Database was not shut down normally. InnoDB: Starting recovery from log files... InnoDB: Starting log scan based on checkpoint at InnoDB: log sequence number 0 13674004 InnoDB: Doing recovery: scanned up to log sequence number 0 13739520 InnoDB: Doing recovery: scanned up to log sequence number 0 13805056 InnoDB: Doing recovery: scanned up to log sequence number 0 13870592 InnoDB: Doing recovery: scanned up to log sequence number 0 13936128 ... InnoDB: Doing recovery: scanned up to log sequence number 0 20555264 InnoDB: Doing recovery: scanned up to log sequence number 0 20620800 InnoDB: Doing recovery: scanned up to log sequence number 0 20664692 InnoDB: 1 uncommitted transaction(s) which must be rolled back InnoDB: Starting rollback of uncommitted transactions InnoDB: Rolling back trx no 16745 InnoDB: Rolling back of trx no 16745 completed InnoDB: Rollback of uncommitted transactions completed InnoDB: Starting an apply batch of log records to the database... InnoDB: Apply batch completed InnoDB: Started mysqld: ready for connections
En casos de fallos del sistema de fichero o de hardware, podemos asumir que el disco de datos de MySQL no está disponible tras el reinicio. Esto significa que MySQL no puede arrancar normalmente porque algunos bloques de datos del disco no son legibles. En este caso, es necesario reformatear el disco, instalar uno nuevo, o en cualquier caso, corregir el problema subyacente. Después es necesario recuperar nuestros datos de MySQL desde copias de seguridad, lo que significa que tenemos que tener copias ya realizadas. Para asegurarse de que sea así, vayamos hacia atrás en el tiempo y diseñemos una política de copias de seguridad.
É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.