sábado, 21 de mayo de 2011

COPIAR Y RESTAURAR BASE DE DATOS DE MYSQL

Lo primero que hay que hacer es hacer un backup de la base de datos, para ello usaremos el comando mysqldump.

$ mysqldump --add-drop-table -u root -p dbname >~/db_name.sql

donde…

root, es el usuario de la base de datos.
dbname, es el nombre de la base de datos que queremos usar.
~/db_name.sql es la ruta del fichero donde se guardará el backup.

Una vez hecho esto, podemos restaurar la base de datos, por ejemplo, en otra máquina. Para ello primero arrancamos mysql:

$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.0.45-Debian_1ubuntu3.1-log Debian etch distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> create database dbname_copy
mysql> use dbname_copy


recuerda que “mysql>” es el prompt que interpreta los comando de mysqlahora para restaurarla usamos el siguiente código:

mysql> source ~/db_name.sql

Y ya estaría copiada. Estos últimos pasos también se podrían haber hecho de la siguiente forma:

mysql -u root -p dbname < ~/db_name.sql

Sería muy buena idea que se hiciera un backup diario de la BBDD (Con algún cron, por ejemplo) de modo que podamos restaurar la BBDD sin perder mucho margen de datos, y teniendo el backup automático.

No hay comentarios: