Não é possível criar um dump MySQL no Windows, falha antes de prompt de senha

2

Estou tentando criar um despejo de um banco de dados MySQL instalado localmente em meu laptop.

Estou ciente do comando:

%>mysqldump -u root -p --opt [database name] 

mas não consigo executá-lo. Eu posso estar perdendo o óbvio aqui.

  1. Eu abro o gerenciador de linha de comando, que solicita a senha de root.
  2. Depois de inserir a senha, entro diretamente em mysql>
  3. Não consigo sair do mysql> para voltar ao shell.

Acima do comando digitado:

mysql> mysqldump -u -root -p --opt [database]

me dá o seguinte:

-> 

Eu também tentei o seguinte:

C:\> cd c:\program files\mysql\...\bin 
C:\program files\mysql\...\bin> mysqldump -u root -p [database name] > dump.sql 

Que só então reporta "Acesso negado".

Não recebo a senha. O usuário é 'root'. Eu tenho direitos de administrador completos no Windows. Eu tentei isso em dois laptops com diferentes bancos de dados e senhas com o mesmo resultado. Eu instalei o banco de dados MySQL usando o assistente.

Estou perdido. Parece que só posso logar direto no banco de dados, mas não consigo entrar no shell ( shell> ). Estou errado apenas usando o gerenciador de linha de comando? Preciso de bancada ou algo mais?

    
por Topocalma 08.08.2011 / 16:02

4 respostas

4

O executável mysqldump é diferente do executável mysql . Você não insere mysqldump dentro de mysql , mas apenas em um prompt de comando normal do Windows, o que você obterá indo para Iniciar Executar → Tipo " cmd ", Enter.

mysqldump -u <username> -p <database> > dump.sql

Aqui, <database> é substituído pelo nome do seu banco de dados. Ele solicitará sua senha e despejará o conteúdo em dump.sql . Você também pode especificar um caminho absoluto para o arquivo de despejo, por exemplo C:\dump.sql

Veja este Howto para mais detalhes.

    
por 08.08.2011 / 16:14
2

Tente despejar em algum diretório que não esteja em "Arquivos de programas". Somente binários e dados estáticos como supostos para ir lá, não arquivos do usuário.

    
por 10.08.2011 / 14:55
1

Já faz um tempo desde que eu tive que usar o mysqldump, mas eu tenho certeza que você tem que definir um arquivo de destino para o despejo.

Ou seja, tente a seguinte sintaxe:

mysqldump -u root -p --databases [database name] > C:\Temp\DBDump.sql

Você não precisa da opção --opt, simplesmente use --databases [dbname] ou --all-databases para despejar.

Em segundo lugar, você quer ter certeza de que está jogando em um arquivo, não simplesmente na tela (a menos que seja isso que você está procurando).

Ok, então, para comprimir sua imagem, você pode seguir o seguinte guia postado no Guia de Referência do MySQL 5.5:

Postado por Mike Ng em 16 de maio de 2005 5:40 pm [Excluir] [Editar]

Following Lon B helpful post:

You can pipe it to gzip to compress in windows. I didn't think it would work on windows, but apparently it does.

@ECHO Beginning backup of %dbname%...

%mysqldir%\bin\mysqldump -B %dbname% -u %dbuser% | gzip> %bkupdir%\dbBkup_%dbname%_%yy%%mm%%dd%.sql.gz

Of course,you need gng gzip in your path or directory

Você pode lê-lo na parte inferior do Guia de referência do MySQL 5.5 em MYSQLDUMP

Desculpe, eu mudei o post; Eu copiei o errado ... Desculpe!

    
por 08.08.2011 / 16:14
1

Também pode ser que você não seja o gerenciador de comandos do Windows como administrador e, portanto, não tenha acesso de gravação aos arquivos de programa.

    
por 08.08.2011 / 17:50