Para respaldar la base de datos, solo colocamos en la consola:
mysqldump -uUsuario -pPassword Base_Datos > Archivo.sqlDonde solo hay que cambiar lo que resalte en negritas, por los valores correspondientes; ejemplo:
mysqldump -uroot -p1234 mi_db > /home/usuario/Escritorio/archivo.sql;y para recuperarla, previo a haber creado la base de datos, así:
mysql -uUsuario -pPassword Base_Datos < Archivo.sql
Ejemplo:
mysql -uroot -p1234 nueva_db < /home/usuario/Escritorio/archivo.sql;
Si tu usuario no tiene contraseña, la omites:
mysql -uroot -p nueva_db < c:\\backup\archivo.sql;
En dado caso de que la tenga y no la incluyas, te la solicitara a continuación. Encontraras el tema detallado en la documentación oficial de MySQL.
Opciones:
--verbose --force --wait --reconnect
mysql -u root -p -f -D database_name < script.sql
Otra opción es importarlo una vez logueado en Mysql con source de la siguiente manera:
mysql> create database nueva_db;
mysql> use nueva_db;
mysql> source bc:\\backup\archivo.sql;
Ahora bien, por defecto las rutinas no se incluyen dentro del respaldo, eso hay que especificarlo usando la opción --routines, ejemplo:
mysqldump -uroot -p1234 --routines mi_db > archivo.sql;
Si solo quieres almacenar las rutinas y no así las tablas de la base de datos, agregas --no-create-info:
mysqldump -uroot -p1234 --routines --no-create-info nueva_db > archivo.sql
Puedes almacenar solo las rutinas en un archivo aparte y luego incluirlas en cualquier base de datos, además de jugar con las opciones de manera tal que se cree el script exactamente con los datos que deseas:
--routines --> señala que incluya las rutinas.
--no-create-db --> no incluye el comando CREATE DATABASE (no crea bases de datos).
--no-create-info --> no incluye el comando CREATE TABLE (no crea tablas).
--no-data --> no incluye registros de ninguna tabla.
mysqldump -uroot -p --routines --no-create-db --no-create-info --no-data nueva_db > archivo.sql
Excelente, super claro y completo.
ResponderEliminar