¿Restaurar MÚLTIPLES bases de datos MySQL desde un archivo en la línea de comandos?

13

He exportado todas mis bases de datos a un archivo usando phpMyAdmin.

Lamentablemente, no tengo un phpMyAdmin que funcione en mi sistema de destino.

¿Cómo debo restaurarlos todos a la vez usando un comando de línea?

smhnaji
fuente
1
¿Le echó un vistazo al archivo? Debe / podría contener comandos para crear y cambiar a las bases de datos según sea necesario.
Tom Regner el
Sí, las bases de datos se crean y luego se seleccionan mediante el USE database_namecomando.
smhnaji
Entonces las respuestas de Unni y Laurent son correctas.
Tom Regner

Respuestas:

18

¿Por qué no concatena todos los archivos en un solo archivo e importa / restaura usando

mysql -u username -p < dump.sql

Crea un archivo usando

mysqldump -u username -p --all-databases > dump.sql
devav2
fuente
El OP ya tiene un solo archivo y supongo que necesita restaurar los archivos para que no pueda volcarlos más.
Laurent
@laurent Sí lo tengo. El uso mysql -u username -p < dump.sqlcargará la base de datos múltiple de mysql.
devav2
Sí, claro que lo hará
Laurent
2
A mi no me sirvió. dice que necesito seleccionar un databse
Aryeh Armon
3

Si hizo una copia de seguridad de muchas bases de datos en 1 archivo, supongo que hizo una copia de seguridad de las create databasedeclaraciones en el mismo archivo. Si no, solo necesita agregar las declaraciones create databasey use databasea su archivo en los lugares adecuados.

Después de eso, el comando para cargar el archivo en mysql es:

mysql -p < sqlfile.sql

-p es pedir tu contraseña.

Puede usarlo -u usernamesi necesita usar otro usuario.

Laurent
fuente
1

El comando mysql para restaurar el archivo sql es:

mysql DATABASE_NAME < SQL_FILENAME.sql

primero asegúrese de que el archivo sea sql. En caso de que termine con la extensión de archivo gz, debe descomprimir usando el comando:

gunzip SQL_FILE.sql.gz
Unni
fuente
1
-1. Como dije en lo anterior, hay MÚLTIPLES bases de datos almacenadas en el archivo y quiero que todas se restauren a la vez.
smhnaji
¿Puede exportar cada base de datos por separado en phpmyadmin y restaurarla en el servidor de origen? o use editores de flujo de Linux como sed o awk para dividirlos en un archivo diferente.
Unni
1
no es necesario, puede importar todas las bases de datos desde un solo archivo
Laurent