Estou me afastando do Linode porque não tenho as habilidades de administrador do Linux necessárias; Antes de concluir a transição para um serviço mais amigável, preciso baixar o conteúdo de um database MySQL. Existe uma maneira de fazer isso a partir da linha de comando?
Você pode fazer isso usando a function de linha de comando mysqldump .
Por exemplo:
Se for um database inteiro, então:
$ mysqldump -u [uname] -p[pass] db_name > db_backup.sql
Se é tudo DBs, então:
$ mysqldump -u [uname] -p[pass] --all-databases > all_db_backup.sql
Se forem tabelas específicas dentro de um database, então:
$ mysqldump -u [uname] -p[pass] db_name table1 table2 > table_backup.sql
Você pode até ir tão longe quanto auto-compactar a saída usando o gzip (se o seu database for muito grande):
$ mysqldump -u [uname] -p[pass] db_name | gzip > db_backup.sql.gz
Se você quiser fazer isso remotamente e tiver access ao servidor em questão, então o seguinte funcionaria (presumindo que o servidor MySQL está na porta 3306):
$ mysqldump -P 3306 -h [ip_address] -u [uname] -p[pass] db_name > db_backup.sql
Ele deve descartar o arquivo .sql
na pasta da qual você executa a linha de comando.
EDIT: Como observado nos comentários, para evitar a inclusão de sua senha no histórico de comandos, use a opção -p
sem a senha. Ele irá pedir-lhe e não gravá-lo.
mysqldump é o que você está procurando.
Nas versões mais recentes do mysql, pelo menos no meu, você não pode colocar seu passe diretamente no comando.
Você tem que correr:
mysqldump -u [uname] -p db_name > db_backup.sql
e depois pedirá a senha.
No windows você precisa especificar o bin mysql onde o mysqldump.exe reside.
cd C:\xampp\mysql\bin mysqldump -u[username] -p[password] --all-databases > C:\localhost.sql
salve isso em um arquivo de texto, como backup.cmd
Se o download do servidor remoto, aqui é um exemplo simples:
mysqldump -h my.address.amazonaws.com -u my_username -p db_name > /home/username/db_backup_name.sql
O -p indica que você digitará uma senha, não está relacionado ao db_name. Depois de digitar o comando, você será solicitado a fornecer a senha. Digite-o e pressione enter.
Vá para o diretório de instalação do MySQL e abra o cmd a partir daí. Em seguida, execute o comando abaixo para obter um backup do database.
mysqldump -u root -p --add-drop-database --databases db> C:\db-dontdelete\db.sql
Basta digitar mysqldump
ou mysqldump --help
no seu cmd mostrará how to use
Aqui está o meu resultado cmd
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqldump Usage: mysqldump [OPTIONS] database [tables] OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] OR mysqldump [OPTIONS] --all-databases [OPTIONS] For more options, use mysqldump --help
Abra o prompt de comando e digite diretamente este comando. Não entre no mysql e digite este comando.
mysqldump -u [uname] -p[pass] db_name > db_backup.sql
Se você estiver executando o MySQL diferente da porta padrão:
mysqldump.exe -u username -p -P PORT_NO database > backup.sql
Use isto Se você tiver o database com o nome archiedb, use este mysql -p –databases archiedb> /home/database_backup.sql
Supondo que isso seja o Linux, escolha onde o arquivo de backup será salvo.