emite erro "mysqldump: Erro: 1049: Banco de dados desconhecido 'thepassword' ao selecionar o banco de dados", mas funcionou quando excluí "-p userpassword"
Ateş Danış
11
@ AteşDanış Não há espaço entre -pe thepassword.
Charles Wood
44
Você deve apenas usar -pe, em seguida, será solicitada a senha. Desta forma, você evitar que a sua senha salva por exemplo,.bash_history
Nuala
7
Para mim, este comando funciona: mysqldump -u YourUser -p YourDatabaseName> wantedsqlfile.sql (Digite o comando, pressione enter e a Senha será inserida).
Shasi kanth
3
A especificação de uma senha na linha de comando deve ser considerada insegura.
Eu acho que você perdeu o fato de que ele está usando WAMP - Windows ... gunzip / gzip não está incluído no Windows. Pode ser possível executar seu comando depois de instalar algumas coisas, mas acho que você perdeu esse fato.
Rolf
2
A especificação gzip -9torna o arquivo resultante um pouco menor, porque a compactação máxima é usada.
AntonK
39
Primeiro, abra o prompt de comando e abra o diretório bin no cmd (espero que você esteja ciente dos comandos do cmd ) vá para o diretório bin da sua pasta MySql nos arquivos de programa WAMP .
Novamente, W AMP => Windows. que é um comando do Linux. O gunzip / gzip não está incluído no Windows - e pode não estar disponível. scp ... você entendeu.
Rolf
A resposta do Opentuned é ótima . Uma coisa pequena é remover o real passwordda linha de comando: mysqldump -u [nome do usuário] -p [nome do db]> filename.sql Isso evita que as pessoas pesquisem no seu histórico a senha.
Vincent Vincent
11
@ Opentuned, o que há com o fetiche do linux?
217 Pacerier
para -p [senha] deve estar próximo, por exemplo: mysqldump -u tutorials -p'mypassword' -h 127.0.0.1 database_name > file_backup_database_name_.sqlAviso: O uso de uma senha na interface da linha de comandos pode ser inseguro.
Marwan Salim
19
Para exportar também PROCEDIMENTOS, FUNÇÕES E DISPARADORES, adicione o --routinesparâmetro:
O switch --routinesfaz a diferença :) Alguma dica de como exportar apenas PROCEDIMENTOS, FUNÇÕES E DISPARADORES? Para aqueles que se esqueceram sobre o interruptor e exportados "puro" DB sem os "algoritmos" :)
AntonK
BTW o interruptor --eventsé necessário para despejar eventos Event Scheduler, e os gatilhos são sempre exportado, a menos --skip-triggersé especificado (de acordo com 7.4.5.3 Dumping Programas Armazenados )
AntonK
10
Dê este comando para exportar seu banco de dados, isso também incluirá a data
Note, que especificar --databasesirá inserir declarações como CREATE DATABASE XYZ;e USE XYZ;, o que não é útil quando a importação do SQL em outro banco de dados com outro nome ...
AntonK
8
Eu instalei meu servidor wamp na unidade D: então você tem que ir para o seguinte caminho a partir da linha de comando ur -> (e se você tiver instalado o seu wamp na unidade c:, substitua o d: wtih c: aqui)
D:\>cd wamp
D:\wamp>cd bin
D:\wamp\bin>cd mysql
D:\wamp\bin\mysql>cd mysql5.5.8(whatever ur verserion will be displayed here use keyboard Tab button andselect the currently working mysql version on your server if you have more than one mysql versions)
D:\wamp\bin\mysql\mysql5.5.8>cd bin
D:\wamp\bin\mysql\mysql5.5.8\bin>mysqldump -u root -p password db_name >"d:\backupfile.sql"
aqui root é usuário da minha senha phpmyadmin
é a senha do phpmyadmin, portanto, se você não tiver definido nenhuma senha para root, apenas nada nesse tipo,
db_name é o banco de dados (para o qual o banco de dados está fazendo o backup), backupfile.sql é o arquivo no qual você deseja fazer backup do banco de dados e também pode alterar o local do arquivo de backup (d: \ backupfile.sql) de para qualquer outro local do seu computador
De todas as maneiras que encontrei para fazer isso, essa resposta é a única que funcionou para mim. Estou usando o MySQL versão 5.6, então o caminho era ... \ MySQL \ MySQL Server 5.6 \ bin para o prompt de comando. Você precisará usar seu nome de usuário e senha de administrador do MySQL, aqueles especificados para um banco de dados específico não funcionarão. Obrigado Sachin. Mesmo as instruções no manual do MySQL para v.5.6 não funcionam. A sintaxe está incompleta lá.
Max Oeste
Realmente funciona com o espaço entre -pe password?
O problema com todas essas soluções (usando o >caractere redirecionador) é que você escreve seu dump a partir do stdout, o que pode interromper a codificação de alguns caracteres do seu banco de dados.
Se você tiver um problema de codificação de caracteres. Tal como :
ERRO 1064 (42000): você tem um erro na sintaxe do SQL; verifique o manual que corresponde à sua versão do servidor MySQL para obter a sintaxe correta perto ...
então, você DEVE usar a -ropção para escrever o arquivo.
MySQL
mysqldump -u user -pyour-password-without-space-between-letter-p-and-your-password --default-character-set=utf8 --host $HOST database-name -r dump.sql
Por outro lado, não use <para importar seu despejo para o banco de dados; seus caracteres não utf8 podem não ser transmitidos; mas prefira a opção de fonte.
mysql -u user -pYourPasswordYouNowKnowHow --default-character-set=utf8 your-database
mysql> SET names 'utf8'
mysql> SOURCE dump.sql
onde d: \ wamp \ bin \ mysql \ mysql5.6.12 \ bin \ mysqldump.exe será o caminho atual do mysqldump.exe, mydbname é o nome do banco de dados que você deseja exportar e d: \ mydb.sql é o caminho em que você deseja armazenar o banco de dados exportado.
echo -e "Welcome to the import/export database utility\n"
echo -e "the default location of mysqldump file is: /opt/lampp/bin/mysqldump\n"
echo -e "the default location of mysql file is: /opt/lampp/bin/mysql\n"read-p 'Would like you like to change the default location [y/n]: ' location_change
read-p "Please enter your username: " u_name
read-p 'Would you like to import or export a database: [import/export]: ' action
echo
mysqldump_location=/opt/lampp/bin/mysqldump
mysql_location=/opt/lampp/bin/mysql
if["$action"=="export"];thenif["$location_change"=="y"];thenread-p 'Give the location of mysqldump that you want to use: ' mysqldump_location
echo
else
echo -e "Using default location of mysqldump\n"
fi
read-p 'Give the name of database in which you would like to export: ' db_name
read-p 'Give the complete path of the .sql file in which you would like to export the database: ' sql_file
$mysqldump_location -u $u_name -p $db_name >$sql_file
elif ["$action"=="import"];thenif["$location_change"=="y"];thenread-p 'Give the location of mysql that you want to use: ' mysql_location
echo
else
echo -e "Using default location of mysql\n"
fi
read-p 'Give the complete path of the .sql file you would like to import: ' sql_file
read-p 'Give the name of database in which to import this file: ' db_name
$mysql_location -u $u_name -p $db_name <$sql_file
else
echo "please select a valid command"
fi
Respostas:
Primeiro verifique se sua linha de comando reconhece o comando mysql. Caso contrário, vá para o comando e digite:
Em seguida, use este comando para exportar seu banco de dados:
Você será solicitado a fornecer a senha do banco de dados .
Isso exporta o banco de dados para o caminho em que você está atualmente, enquanto executa este comando
Nota: Aqui estão algumas instruções detalhadas sobre importação e exportação
fonte
-p
ethepassword
.-p
e, em seguida, será solicitada a senha. Desta forma, você evitar que a sua senha salva por exemplo,.bash_history
Basta usar o seguinte comando,
Para exportar:
Para importação:
Nota: Não há espaço entre a palavra-chave '-p' e sua senha.
fonte
gzip -9
torna o arquivo resultante um pouco menor, porque a compactação máxima é usada.Primeiro, abra o prompt de comando e abra o diretório bin no cmd (espero que você esteja ciente dos comandos do cmd ) vá para o diretório bin da sua pasta MySql nos arquivos de programa WAMP .
comando de execução
pressione enter system exportará um banco de dados específico e criará um arquivo sql para o local especificado.
Espero que você entendeu :) se você tiver alguma dúvida, por favor me avise.
fonte
Bem, você pode usar o comando abaixo,
mysqldump --databases --user=root --password your_db_name > export_into_db.sql
e o arquivo gerado estará disponível no mesmo diretório em que você executou esse comando.
Você pode encontrar mais informações sobre a referência oficial para
mysqldump
: Import Export Export MySQL DBNota : use em
--databases
vez de--database
já que o último não é mais suportado.Desfrutar :)
fonte
mysqldump: [ERROR] unknown option '--database'
mas a exclusão--database
dele funcionou.Vá para o prompt de comando neste caminho,
C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin>
Em seguida, forneça este comando para exportar seu banco de dados ( sem espaço após -p )
mysqldump -u[username] -p[userpassword] yourdatabase > [filepath]wantedsqlfile.sql
fonte
Localize sua instância do mysql com:
Se isso estiver correto, exporte com o seguinte (navegue até a instância do mysql na sua pasta mamp no bin):
E se você deseja compactá-lo ao mesmo tempo:
Você pode então mover este arquivo entre servidores com:
(onde xxx.xxx.xxx.xxx é o endereço IP do servidor)
E importe-o com:
fonte
password
da linha de comando: mysqldump -u [nome do usuário] -p [nome do db]> filename.sql Isso evita que as pessoas pesquisem no seu histórico a senha.mysqldump -u tutorials -p'mypassword' -h 127.0.0.1 database_name > file_backup_database_name_.sql
Aviso: O uso de uma senha na interface da linha de comandos pode ser inseguro.Para exportar também PROCEDIMENTOS, FUNÇÕES E DISPARADORES, adicione o
--routines
parâmetro:mysqldump -u YourUser -p YourDatabaseName --routines > wantedsqlfile.sql
fonte
--routines
faz a diferença :) Alguma dica de como exportar apenas PROCEDIMENTOS, FUNÇÕES E DISPARADORES? Para aqueles que se esqueceram sobre o interruptor e exportados "puro" DB sem os "algoritmos" :)--events
é necessário para despejar eventos Event Scheduler, e os gatilhos são sempre exportado, a menos--skip-triggers
é especificado (de acordo com 7.4.5.3 Dumping Programas Armazenados )Dê este comando para exportar seu banco de dados, isso também incluirá a data
(sem espaço após -p)
fonte
--databases
irá inserir declarações comoCREATE DATABASE XYZ;
eUSE XYZ;
, o que não é útil quando a importação do SQL em outro banco de dados com outro nome ...Eu instalei meu servidor wamp na unidade D: então você tem que ir para o seguinte caminho a partir da linha de comando ur -> (e se você tiver instalado o seu wamp na unidade c:, substitua o d: wtih c: aqui)
aqui root é usuário da minha senha phpmyadmin é a senha do phpmyadmin, portanto, se você não tiver definido nenhuma senha para root, apenas nada nesse tipo, db_name é o banco de dados (para o qual o banco de dados está fazendo o backup), backupfile.sql é o arquivo no qual você deseja fazer backup do banco de dados e também pode alterar o local do arquivo de backup (d: \ backupfile.sql) de para qualquer outro local do seu computador
fonte
-p
epassword
?Exemplo no host local
fonte
O problema com todas essas soluções (usando o
>
caractere redirecionador) é que você escreve seu dump a partir do stdout, o que pode interromper a codificação de alguns caracteres do seu banco de dados.Se você tiver um problema de codificação de caracteres. Tal como :
então, você DEVE usar a
-r
opção para escrever o arquivo.MySQL
Usando o Docker
Nota: isso monta o caminho atual como despejo dentro da instância.
Encontramos a resposta aqui
Por outro lado, não use
<
para importar seu despejo para o banco de dados; seus caracteres não utf8 podem não ser transmitidos; mas prefira a opção de fonte.fonte
Sintaxe
Exemplo
onde d: \ wamp \ bin \ mysql \ mysql5.6.12 \ bin \ mysqldump.exe será o caminho atual do mysqldump.exe, mydbname é o nome do banco de dados que você deseja exportar e d: \ mydb.sql é o caminho em que você deseja armazenar o banco de dados exportado.
fonte
Eu usei o servidor wamp. Eu experimentei
root
é meu nome de usuário para mysql e, se você tiver alguma senha, especifique-a com:Espero que funcione.
fonte
Para o sistema operacional Windows :
Quando você receber o erro 1064 mysql (42000) ao tentar executar o comando mysqldump , saia do terminal atual. E execute o comando mysqldump.
fonte
Eu estava tentando pegar o dump do db que estava sendo executado na janela de encaixe e criei o comando abaixo para obter o mesmo:
docker exec
<container_id/name>
/ usr / bin / mysqldump -u<db_username>
--password =<db_password>
db_name
> .sqlEspero que isto ajude!
fonte
Você pode usar esse script para exportar ou importar qualquer banco de dados do terminal fornecido neste link: https://github.com/Ridhwanluthra/mysql_import_export_script/blob/master/mysql_import_export_script.sh
fonte