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?


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

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.


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

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.