miércoles, 22 de mayo de 2013

Respaldos


1.     ¿Por qué es importante para el administrador saber hacer respaldos?
Una gran mayoría de nuestros casos es tratar de corregir corrupción en bases de datos (Exchange, SQL Server, etc); causadas por problemas de HW, borrado de archivos por equivocación, antivirus, etc.

Cuando preguntamos a los clientes por el respaldo nos encontramos que :
-         el respaldo es muy viejo
-         el respaldo falla porque nunca se probó
-         no se tiene respaldo
-         los respaldos estan incompletos
-         el respaldo estaba en el mismo disco que falló
-         etc

Nos damos cuenta que muy pocos clientes realmente cuentan con una estrategia de respaldos efectiva. Cuando creo que el área de tecnología (nosotros) deberíamos pensar más en los usuarios y por la empresa en la que trabajamos, que a final de cuentas son nuestros clientes.

Un ejemplo:
1. Problemas de integridad de información.
La base de datos se corrompió debido a una falla de HW, no se tuvo respaldo, se logro salvar el 75% de la información.
Donde queda el 25% restante?
El usuario final (área operativa) tiene que volverlo a actualizar en la base de datos, hacer que los datos verifiquen con la información que se tenga y al final no se sabe o es difícil saber si toda la información que se actualizó despues de la falla es la correcta.
Además de todas las horas “perdidas” tratando de recuperar la información correspondiente.

2.    ¿Es responsabilidad del administrador hacer un respaldo periódico de los sistemas de archivos de la máquina que administra?
Si, la tarea del DBA es crear la base de datos en sí y poner en vigor los controles técnicos necesarios para apoyar las políticas dictadas por el administrador de datos. El DBA se encarga también de garantizar el funcionamiento adecuado del sistema y de proporcionar otros servicios de índole técnica relacionados. El DBA cuenta por lo regular con un grupo de programadores  de sistemas y otros asistentes técnicos.
3.    ¿Cómo se hace un respaldo?  y ¿Como se restaura un respaldo?

Copia de respaldo

Para hacer una copia de respaldo de una base de datos se recomienda crear un dump.
  • Para hacer un dump de todas las bases de datos es necesario ejecutar el comando:
mysqldump --user=****** --password=****** -A > /Ruta/Hacia/archivo_dump.SQL
  • Para hacer un dump de sólo algunas bases de datos es necesario ejecutar el comando:
mysqldump --user=****** --password=******  db_1 db_2 db_n> /Ruta/Hacia/archivo_dump.SQL
  • Para hacer un dump de todas las tablas de una base de datos es necesario ejecutar el comando:
mysqldump --user=****** --password=****** db > /Ruta/Hacia/archivo_dump.SQL
  • Para hacer un dump de sólo ciertas tablas de una base de datos es necesario ejecutar el comando:
mysqldump --user=****** --password=****** db --tablas tab1 tab2 > /Ruta/Hacia/archivo_dump.SQL

Para cada uno de estos comandos es necesario indicar un usuario (user) y la contraseña (password) con derechos de administrador en la base de datos.

Restauración

Para restaurar un dump tan sólo hay que ejecutar el comando:
mysql --user=****** --password=****** db_nom < /Ruta/Hacia/archivo_dump.SQL

4.    ¿Cómo se muestra en pantalla el contenido de un respaldo?
1.    Para ver el contenido de un respaldo se usa la opción (t), veamos el contenido de los respaldos que ya efectuamos.
# cd /root
# tar tvzf backup.tgz | more
# tar tvf /dev/fd0 | more
 Realiza respaldos de datos con el comando
‘cpio’
Siguiendo la siguiente secuencia: cópialos archivos del directorio /home al dispositivo /dev/fd0 usando el comando  cpio:
#ls | cpio -oc > /dev/fd0
5.   ¿Se puede  copiar una estructura de directorios, preservando los permisos,dueños, grupos, fechas y ligas?
# mkdir /users/newhome                Crear el directorio destino.
# cd /home                    Colocarse en el directorio a copiar.
# find . -depth -print | cpio-pdmv /users/newhome Copiar los archivos.
# rm -rf /home     Opcional: Borrar el directorio origen, sólo si se desea mover el directorio.
 6.     Realiza una tabla donde se  muestre los procedimientos  para  respaldar la base  de datos para el proyecto de veterinaria y como restaurar  la base de datos.

Los comandos básicos

En los siguientes ejemplos, el modificador -u especifica el nombre de usuario de MySQL, y el modificador -p indica que debe solicitarse la contraseña de dicho usuario al momento de ejecutar el comando.
Respaldar una base de datos:
mysqldump -u usuario -p base_datos > respaldo.sql
Restaurar una base de datos (la base de datos debe existir):
mysql -u usuario -p base_datos < respaldo.sql

Comandos especializados

Respaldar tablas específicas de una base de datos:
mysqldump -u usuario -p base_datos tabla1 tabla2 > respaldo.sql
Respaldar varias bases de datos al mismo tiempo:
mysqldump -u usuario -p --databases base1 base2 base3 > respaldo.sql
Respaldar todas las bases de datos
mysqldump -u usuario -p --all-databases > respaldo.sql
Respaldar sólo la estructura de una base da datos:
mysqldump -u usuario -p --no-data base_datos > estructura.sql

Usando compresión

Compresión al Respaldar:
mysqldump -u usuario -p base_datos | gzip > respaldo.sql.gz
Descompresión al Restaurar:
gunzip < respaldo.sql.gz | mysql -u usuario -p base_datos
BIBLIOGRAFIA



No hay comentarios:

Publicar un comentario