lunes, 24 de octubre de 2011

Crear respaldo de tablas en MySQL.



Una de las tareas más importantes  al administrar una base de datos, es el respaldo de esta, ya que es muy bien sabido que un suceso imprevisto puede resultar catastrófico, es por eso que en este pequeño tutorial abordare un tema que para muchos usuarios seguramente será de importancia ya que cuanto más importantes sean los datos mayor cuidado se debe de tener de ellos.

Realizar un  volcado de seguridad de tabla MyISAM.

Una de las manera más fáciles que existen para realizar un volcado de seguridad cuando se tiene una tabla MyISAM , es utilizando el comando BACKUP, el cual tiene la siguiente sintaxis.

BACKUP TABLE tbl_name [, tbl_name] ... TO '/path/to/backup/directory'

Ejemplo. Supongamos que tengo una base de datos llamada ejemplo y que esta tiene tres tablas a mi me interesa hacer el respaldo de dos de ellas llamadas datos y usuarios, por lo tanto lo haría de la siguiente manera.









Como nota hay que mencionar que tendremos que dar la ruta completa del directorio donde se guardara el respaldo de cada tabla, no necesitamos pasarle un nombre de archivo únicamente decimos el directorio donde se guardara, a como se muestra en el ejemplo donde solo le pasamos el directorio tbl_bakup_prueba ubicado en ‘C’, ahora si buscamos en el directorio que hemos especificado encontraremos dos archivos por cada tabla uno con la extensión .frm(definición) y otro como .MYD(datos) faltando uno de extensión .MYI(índice) el cual lo podemos volver a generar una vez restaurada la base de datos. Lo interesante de trabajar con MySQL es que nos muestra los errores en caso de que no contemos con los permisos necesarios en el directorio donde queremos guardar los archivos, por lo tanto hay que tener bien en cuenta los permisos de estos.

Restaurar un respaldo realizado con el comando BACKUP.

Teniendo el respaldo hay que saber cómo restaurar este en caso de que sea necesario, para esto debemos de utilizar el comando RESTORE que es el contrario a BACKUP, cabe mencionar que también crea los índices, lo cual puede llevar cierto tiempo dependiendo del tamaño de las tablas.

Por ejemplo si se está trabajando en un sistema de Unix y creamos un directorio llamado tb_backup en el directorio del usuario root y luego establecemos una conexión a la base de datos y ejecutamos el comando BACKUP  pasándole el directorio recién creado, MySQL nos enviara un mensaje de error ya que MySQL no dispone de permisos para escribir archivos en tal directorio, como solución a esto salimos de MySQL y convertimos el usuario MySQL en titular del directorio en cuestión así.

chown mysql /home/root/tb_backup

Si nos fijamos bien la sintaxis es la misma que el de BACKUP cambiando únicamente restore por backup y to por from lo demás es lo mismo, por lo cual a mi parecer resulta bien fácil de aprender tal sintaxis.

Regresamos a MySQL y ahora si ejecutamos nuevamente la instrucción BACKUP este paso debe de resultar exitoso.






Nota: Si la tabla que estamos restaurando existe en la base de datos MySQL nos avisara de que no puede sobrescribir esta tabla por lo tanto si dicha tabla contiene datos corruptos y tenemos que restaurarla de la copia de seguridad primero se deberá de borrar la tabla mala para luego si hacer la restauración.


Espero que esta información les haya servido más adelante publicare más cosas de las que podemos hacer con MySQL.

2 comentarios:

Derman Zepeda dijo...

Muchas gracias Milton por esta excelente entrada,,

Derman Zepeda dijo...

Esta entrada fue creada por:

Milton Padilla Silva

milton_padilla@yahoo.es
milton.padilla@est.unanleon.edu.ni
miltonpadilla@gmail.com

Publicar un comentario