¿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?


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

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.


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

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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.