Por que o Mysql ou o Mysqldump dizem que o erro 1049 não foi encontrado?

1

Eu exportei o banco de dados SQL para o meu WordPress antes de reconstruir meu Debian 8 VPS porque não consegui consertar algumas mensagens de erro que recebi. Eu fiz o seguinte.

$ mysql -u root -p wordpressDB < /var/www/html/example.com/backups/backup.sql

A mensagem de saída que recebo é

ERROR 1049 (42000): Unknown database 'wordpressDB'

Eu também tentei fazer isso.

MySQL -u wordpress -p wordpressDB < backup.sql

Mas quando eu coloquei a senha, ela disse que era inválida. Eu abri o arquivo SQL no bloco de notas e o nome do banco de dados existe. Eu exportei este arquivo usando o mysqldump, e tentei importar usando o MySQL e o mysqldump, mas as duas vezes não tiveram sucesso.

    
por HeavenlyHarmony 14.02.2018 / 11:01

1 resposta

0

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ê.

    
por 17.08.2018 / 20:31