Por: Gonzalo Escribano
mysql: hacer copia completa de base de datos
February 18, 2010
Primero hacemos el backup de la base:
# mysqldump -uNOMBRE_USER -pCLAVE_USER –opt NOMBRE_DB > /root/OUT_FILE.sql
Si hace falta comprimirlo:
tar -cvvf OUT_FILE.sql.tar OUT_FILE.sql
gzip OUT_FILE.sql.tar
Si hace falta copiarlo por scp a otro server
Si hace falta descomprimirlo:
gunzip (archivo).tar.gz
tar -xf (archivo).tar
Luego vamos a la carpeta donde situamos la copia:
cd /root/
Ingresamos a mysql:
# mysql -uNOMBRE_USER -pCLAVE_USER
Una vez dentro de mysql ejecutamos estas instrucciones:
create database NOMBRE_NEW_DB;
use NOMBRE_NEW_DB;
source OUT_FILE.sql;
exit;
NOTA: capaz para hacer el restore conectarse como root al mysql si tira error de permisos en algun paso del script.
Si no tenemos el root una opción es conectarnos y:
GRANT ALL PRIVILEGES ON (nombre bd).* TO ‘usuario@localhost’
IDENTIFIED BY ‘password’;
Se puede restorear el backup de una haciendo:
mysql -u (usuario) -p –database=(nombre bd) > (archivo).sql