Como tenho um banco de dados bastante grande, desejo exportá-lo usando o Prompt de Comando, mas não sei como.
Estou usando o WAMP.
Como tenho um banco de dados bastante grande, desejo exportá-lo usando o Prompt de Comando, mas não sei como.
Estou usando o WAMP.
Respostas:
Primeiro verifique se sua linha de comando reconhece o comando mysql. Caso contrário, vá para o comando e digite:
set path=c:\wamp\bin\mysql\mysql5.1.36\bin
Em seguida, use este comando para exportar seu banco de dados:
mysqldump -u YourUser -p YourDatabaseName > wantedsqlfile.sql
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
-p
e thepassword
.
-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:
mysqldump -u [user] -p [db_name] | gzip > [filename_to_compress.sql.gz]
Para importação:
gunzip < [compressed_filename.sql.gz] | mysql -u [user] -p[password] [databasename]
Nota: Não há espaço entre a palavra-chave '-p' e sua senha.
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
mysqldump -u db_username -p database_name > path_where_to_save_sql_file
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.
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 DB
Nota : use em --databases
vez de --database
já que o último não é mais suportado.
Desfrutar :)
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
Localize sua instância do mysql com:
which mysql
Se isso estiver correto, exporte com o seguinte (navegue até a instância do mysql na sua pasta mamp no bin):
mysqldump -u [username] -p [password] [dbname] > filename.sql
E se você deseja compactá-lo ao mesmo tempo:
mysqldump -u [username] -p [password] [db] | gzip > filename.sql.gz
Você pode então mover este arquivo entre servidores com:
scp user@xxx.xxx.xxx.xxx:/path_to_your_dump/filename.sql.gz your_detination_path/
(onde xxx.xxx.xxx.xxx é o endereço IP do servidor)
E importe-o com:
gunzip filename.sql.gz | mysql -u [user] -p [password] [database]
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
--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
mysqldump -u[username] -p[userpassword] --databases yourdatabase | gzip > /home/pi/database_backup/database_`date '+%m-%d-%Y'`.sql.gz
(sem espaço após -p)
--databases
irá 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 ...
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 and select 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
-p
e password
?
mysqldump -h [host] -p -u [user] [database name] > filename.sql
Exemplo no host local
mysqldump -h localhost -p -u root cookbook > cookbook.sql
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 -r
opçã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
Usando o Docker
docker exec --rm -v $pwd:dump -it mysql:5:7 mysqldump -u user -pyour-password-without-space-between-letter-p-and-your-password --default-character-set=utf8 --host $HOST database-name -r dump/dump.sql
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.
mysql -u user -pYourPasswordYouNowKnowHow --default-character-set=utf8 your-database
mysql> SET names 'utf8'
mysql> SOURCE dump.sql
(mysqldump.exe full path) -u (user name) -p (password) (database name) > (export database file full path)
c:>d:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump.exe -u root -p mydbname > d:\mydb.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.
Eu usei o servidor wamp. Eu experimentei
c:\wamp\bin\mysql\mysql5.5.8\bin\mysqldump -uroot -p db_name > c:\somefolder\filename.sql
root
é meu nome de usuário para mysql e, se você tiver alguma senha, especifique-a com:
-p[yourpassword]
Espero que funcione.
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
> .sql
Espero que isto ajude!
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
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" ]; then
if [ "$location_change" == "y" ]; then
read -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" ]; then
if [ "$location_change" == "y" ]; then
read -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