Com base nos seus comentários abaixo da sua pergunta, parece que você provavelmente omitiu a opção --databases
quando usou mysqldump
para fazer backup do banco de dados.
Se você fizer backup dos bancos de dados fazendo mysqldump <database-name>
, o backup não recriará o banco de dados para você. Ao restaurar a partir desse backup, você precisa criar o banco de dados para o qual deseja importar e depois importar para esse banco de dados, que pode ou não ser o mesmo nome do banco de dados do qual você exportou anteriormente.
Se você não quiser ser obrigado a fazer isso, ao criar seu backup, você exportará assim: mysqldump --databases <database-name>
. Fazendo isso, o backup terá o comando para recriar o banco de dados quando for importado de volta para o MySQL.
Existem também outras diferenças entre esses dois usos. Se você usar a primeira versão, quaisquer símbolos após o nome do banco de dados serão considerados nomes de tabela para incluir no backup. Como em: mysqldump MyDatabase Table1 Table2 Table3
para as tabelas de backup 1, 2 e 3, mas nenhuma outra.
Na segunda variação, todos os símbolos após o nome do banco de dados inicial também são tratados como nomes de banco de dados adicionais, para que você possa obter vários bancos de dados. mysqldump --databases HRDatabase WebsiteDatabase DevTestDatabase
Isso deve exportar todos os três bancos de dados.
Mas voltando ao ponto principal: da próxima vez que você usar mysqldump
, se você especificar a opção --databases
, não será necessário criar manualmente o banco de dados e use
antes de importar, pois isso seria cuidar de você.