Restaurando vários bancos de dados MySQL de um arquivo na linha de comando?

13

Eu exportei todos os meus bancos de dados para um arquivo usando o phpMyAdmin.

Infelizmente não tenho um phpMyAdmin funcionando no meu sistema de destino.

Como devo restaurar todos eles de uma vez usando o comando de uma linha?

smhnaji
fonte
1
Você deu uma olhada no arquivo? Deveria / poderia conter comandos para criar e alternar para os bancos de dados, conforme necessário.
Tom Regner #
Sim, os bancos de dados são criados e, em seguida, foram selecionados usando o USE database_namecomando
21812 smhnaji
As respostas de Unni e Laurent estão corretas.
TomRegner #

Respostas:

18

Por que você não concata todos os arquivos em um único arquivo e importa / restaura usando

mysql -u username -p < dump.sql

Crie um arquivo usando

mysqldump -u username -p --all-databases > dump.sql
devav2
fonte
O OP já tem um único arquivo e ele precisa restaurar os arquivos para que ele não possa mais despejá-los, suponho.
21712 laurent
@ laurent Sim entendi. Usar mysql -u username -p < dump.sqlcarregará o banco de dados mysql múltiplo.
Devv2 09/10/12
sim, com certeza sim
laurent
2
Não funcionou para mim. ele diz que eu preciso selecionar um databse
Aryeh Armon
3

Se você fez backup de muitos bancos de dados em 1 arquivo, suponho que você fez backup das create databaseinstruções no mesmo arquivo. Caso contrário, você só precisará adicionar as instruções create databasee use databaseao seu arquivo nos locais apropriados.

Depois disso, o comando para carregar o arquivo no mysql é:

mysql -p < sqlfile.sql

-p é pedir sua senha.

Você pode usar -u usernamese precisar usar outro usuário.

Laurent
fonte
1

O comando mysql para restaurar o arquivo sql é:

mysql DATABASE_NAME < SQL_FILENAME.sql

primeiro verifique se o arquivo é sql. Caso termine com a extensão de arquivo gz, você precisará descompactar usando o comando:

gunzip SQL_FILE.sql.gz
Unni
fonte
1
-1. Como eu disse acima, existem vários bancos de dados armazenados no arquivo e quero que todos eles sejam restaurados de uma só vez.
21812 smhnaji
você pode exportar cada banco de dados separadamente no phpmyadmin e restaurá-lo no servidor de origem? ou use editores de fluxo linux como sed ou awk para dividi-los em arquivos diferentes.
Unni
1
não há necessidade, ele pode importar todas as bases de dados de um único arquivo
laurent