miércoles, 30 de septiembre de 2009

Hacer una copia de seguridad de las tablas y bases de datos MySQL

Acceder a MYSQL
----------------------

mysql -h localhost -u root -p
password:

show databases;----muestra las bases de mysql
use nombre_de_la_base;-----usa una base
show tables;------muestra las tablas de la base seleccionada

repair table nombre_de_la_tabla;---repara la tabla



Hacer un backup con Linux

Si estamos en un servidor linux podemos ejecutar el siguiente código en la linea de comandos para realizar un backup

mysqldump --opt -u nombredeusuario -p basededatos tabla1 > archivodebackup

nombredeusuario: es el nombre del usuario que tiene permisos para acceder a la base de datos.
basededatos: el nombre de la base de datos de la que queremos realizar el backup.
tabla1: es un parámetro opcional necesario si queremos realizar el backup de sólo una tabla de la base de datos. Podemos escribir más tablas separadas por espacios en blanco. No es necesario especificar ninguna tabla si queremos hacer un respaldo de toda la base de datos.
archivodebackup: es el nombre del archivo que contendrá el backup de la base de datos (la estructura de las tablas y los datos).

Una vez ejecutado este comando nos pedirá la password del usuario y se creará el archivo de backup en el directorio en el que nos encontramos.
Hacer un backup con Windows

Si queremos realizar una copia de seguridad desde entornos Windows, deberemos utilizar la linea de comandos ("cmd"). Para abrir la linea de comandos en Windows podemos ir al menú Inicio>Ejecutar, escribir cmd y pulsar enter). Se nos abrirá la linea de comandos de Windows. Ahora hemos de situarnos en la carpeta donde tenemos instalados los binarios de MySQL por ejemplo: c:\mysql\bin (esta ruta depende de dónde instalaste MYSQL) y escribimos el mismo comando que en linux:

mysqldump --opt -u nombredeusuario -p basededatos tabla1 > archivodebackup.txt

Comprimir un backup en Linux

Podemos comprimir el archivo resultante de hacer el backup tras ejecutar el comando mysql dump. Por ejemplo:

1. mysqldump --opt -u nombredeusuario --password=clave basededatos > archivodebackup.sql
2. tar -cfv archivodebackup.sql.tar archivodebackup.sql
3. gzip archivodebackup.sql

Backup de una base de datos InnoDB

Para una base de datos transaccional (de tipo InnoDB o BDB) y de gran tamaño, se puede utilizar este comando

mysqldump --opt -q --single-transaction -u nombredeusuario -p basededatos tabla1 > archivodebackup.txt

El parámetro -q es útil para bases de datos de gran tamaño.
Backup con phpMyAdmin

phpMyAdmin es una aplicación para navegar a través de las tablas creadas en la base de datos mysql que te permite realizar muchas operaciones.

Es muy sencillo exportar tablas y bases de datos con esta aplicación. Una vez lo hayas instalado, puedes hacer click en la base de datos de la que quieras una copia de seguridad. En el menú de arriba puedes hacer click sobre EXPORT. Entrarás en una página donde podrás escoger el tipo de archivo en que quieres guardar el backup (txt,pdf,csv,etc) y después si quieres exportar sólamente la estructura de la tabla, sólo los datos o los dos. También hay la posibilidad de comprimir el archivo, útil para grandes bases de datos. Finalmente, presionas sobre el botón EXPORT del formulario y te podrás descargar el creado con todos los datos de tus tablas.



EN SINTESIS EN LINUX
---------------------------


mysqldump --opt -u nombredeusuario --password=clave basededatos > archivodebackup.sql

gzip archivodebackup.sql

No hay comentarios: