Como hacer una copia de seguridad de una base de datos
Introducción
Antes de nada, asegúrese que tiene a mano los códigos de acceso a su base de datos (los habrá recibido por email en el momento de la creación de la base o del alojamiento).
| Nota : Si ha perdido los códigos de acceso de su alojamiento compartido, puede consultar nuestra guía de PerdidoEncontrado. |
Existen varios modos de recuperar el contenido de una base de datos.
- Mediante el Manager
- Mediante
phpMyAdmin
- Mediante script
- Mediante línea de comandos (SSH)
Esta guía los explica todos ellos.
Por el Manager
Para recuperar el contenido a través del
espacio Manager, seleccione el alojamiento que desea de la lista desplegable.
Esta opción está disponible para todos los alojamientos compartidos con bases de datos (Start1g, Personal y superiores)
Haga click en la sección
Alojamiento
Alojamiento
Encontrará la sección
Gestión SQL en la rúbrica
Bases de datos SQL
Gestión SQL
Encontrará la opción
Copias de seguridad en el cuadro
Gestión en línea
Copias de seguridad
Podrá seleccionar qué copia de su base de datos (actual, D-1, W-1) desea recuperar.
- actual : La base de datos en el estado actual
- copia D-1 : Copia de seguridad nocturna realizada el día anterior
- copia W-1 : Copia de seguridad semanal realizada el domingo anterior
Recibirá un email con un enlace para la descarga.
Por PhpMyadmin
Entrar en phpMyadmin
Para entrar a su
phpMyadmin, puede dirigirse a su
espacio Manager, seleccionando el alojamiento que desea de la lista desplegable.
Haga click en la sección
Alojamiento
Alojamiento
Encontrará la sección
phpMyAdmin en en cuadro
Gestión en línea
phpMyAdmin
Seleccione la base de datos que desea y entre en el phpMyadmin.
El phpMyadmin le solicitará la contraseña de la base de datos.
Realizar la copia en phpMyAdmin
Una vez dentro de phpMyadmin, haga click en el nombre de la base de datos - arriba del todo en la lista la izquierda.
Seleccione la pestaña
Exportar. Aparecerá el cuadro con todas las opciones de la exportación.
Ajuste los parámetros :
- Marque la casilla
Estructura y Datos
- Marque la casilla
Transmitir
Pulse el botón
Continuar.
Recibirá un fichero a través del navegador, con el contenido elegido.
Por script
Una vez que tiene los datos, puede editar el script con el código siguiente:
En los scripts siguientes, reemplace
- nombre_de_la_base.sql por el nombre de su archivo,
- servidor_sql por el nombre del servidor en el cual está instalado su base,
- nombre_de_la_base por el nombre de su base de datos
- contraseña por la contraseña asociada a su base
Script PHP (backupbase.php) :
<?
echo "Su base está siendo salvada.......";
system("mysqldump --host=servidor_sql --user=nombre_de_la_base --password=contraseña nombre_de_la_base > nombre_de_la_base.sql");
echo "Fin. Puede recuperar la base por FTP";
?>
Script PERL (backupbase.cgi) :
#!/usr/bin/perl
print "Su base está siendo salvada.......";
system("mysqldump --host=servidor_sql --user=nombre_de_la_base --password=contraseña nombre_de_la_base > nombre_de_la_base.sql");
print "Fin. Puede recuperar la base por FTP";
Este comando genera un archivo nombre_de_la_base.sql dentro del directorio donde esté ubicado el script.
En este archivo, encontrará todas las instrucciones SQL para volver a crear la base tal y como es durante la salvaguarda con el conjunto de sus datos.
Para ejecutarlo, introduzca en un navegador esta url :
http://sudominio.com/ruta_del_script/backupbase.php
Proceso tabla por tabla
Si alguna vez su base llega a ser demasiado grande, puede hacer un dump "vaciado" tabla por tabla añadiendo la opción
"--tables nombre_de_la_tabla" al final para tener este comando:
mysqldump --host=servidor_sql --user=nombre_de_la_base --password=contraseña --tables nombre_de_la_base nombre_de_la_tabla > nombre_de_la_base_-_nombre_de_la_tabla.sql
De esta manera tendrá un fichero SQL por cada tabla de la base de datos.
Ejemplo:
Script PHP :
<?
echo "Su base está siendo salvada.......";
system("mysqldump --host=sql3 --user=testbackup --password=RtPgDsmL --tables testbackup tabla01 > testbackup-tabla01.sql");
echo "Fin. Puede recuperar la base por FTP";
?>
Script PERL :
#!/usr/bin/perl
print "Su base está siendo salvada.......";
system("mysqldump --host=sql3 --user=testbackup --password=RtPgDsmL --tables testbackup tabla01 > testbackup-tabla01.sql");
print "Fin. Puede recuperar la base por FTP";
Compresión mediante Gzip
También puede comprimir este fichero para lo descargar mejor en su ordenador (por FTP o por la web).
Para comprimir el archivo, ejecute el comando gzip que creara por la extensión .sql.gz :
system("gzip nombre_de_la_base.sql");
_Ejemplo:
Script PHP :
<?
echo "Su base está siendo salvada.......";
system("mysqldump --host=sql3 --user=testbackup --password=RtPgDsmL testbackup > testbackup.sql");
echo "Compresión del archivo.....";
system("gzip testbackup.sql");
echo "Fin. Puede recuperar la base por FTP";
?>
Script PERL :
#!/usr/bin/perl
print "Su base está siendo salvada.......";
system("mysqldump --host=sql3 --user=testbackup --password=-+RtPgDsmL-+ testbackup > testbackup.sql");
print "Compresión del archivo.....";
system("gzip testbackup.sql");
print "Fin. Puede recuperar la base por FTP";
Por linea de comandos
Para los alojamientos Profesional y superiores, tiene la posibilidad de hacer directamente la salvaguarda por
SSH.
Conéctese mediante SSH a su servidor FTP, después diríjase dentro del directorio elegido para almacenar la salvaguarda y ejecute el comando
MYSQLDUMP:
$ mysqldump --host=servidor_sql --user=nombre_de_la_base --password=contraseña nombre_de_la_base > nombre_de_la_base.sql
Ejemplo:
$ mysqldump --host=sql3 --user=testbackup --password=RtPgDsmL testbackup > testbackup.sql
Proceso tabla por tabla
Si el proceso consume demasiados recursos, deberá ir tabla por tabla:
$ mysqldump --host=servidor_sql --user=nombre_de_la_base --password=contraseña --tables nombre_de_la_base nombre_de_la_tabla > nombre_de_la_base_-_nombre_de_la_tabla.sql
Ejemplo:
$ mysqldump --host=sql3 --user=testbackup --password=RtPgDsmL --tables testbackup tabla01 > testbackup-tabla01.sql
Compresión mediante Gzip
Para comprimir un fichero sql puede usar al final el comando gzip:
$ gzip nombre_fichero.sql
De este modo se crea el fichero con el mismo nombre y la extensión
.sql.gz que ya está comprimido y listo para descargarse.
Ejemplo:
$ mysqldump --host=sql3 --user=testbackup --password=RtPgDsmL testbackup > testbackup.sql
$ gzip testbackup.sql
| Nota : Recuerde que para restaurarlo deberá descomprimirlo antes, también mediante Gzip. |
Más información
:
BackupsDePlanSql :: Las copias de seguridad SQL
:
SaveBasesMySQL :: ¿Como recuperar una copia de seguridad de mi base de datos?