Arquivo de backup MySQL é gerado, mas vazio... como usar corretamente o comando 'mysqldump'?

Boa Tarde, pessoal!!!
Bom gente… faz 4 dias que to me matando de pesquisar sobre ‘como fazer backup do meu banco MySQL via mysqldump’, e não consigo…

Hoje obtive um pequeno avanço…
conseguí criar um diretório e criar o arquivoDeBackup.sql dentro do meu diretório…
só que quando abro o arquivo, ele está [color=red]vazio[/color]…

\o/
podksaopkdapkdpoak

já segui os passos desse tópico
esse tbm…
desse aqui também… Inclusive esse até agora foi o que mais ajudou…

Porém… não encontro um jeito de fazer com que essa budega funcione…

aparentemente, parece ser simples… porém na hora de executar… não chega ao estágio final, que é gerar o arquivo com todos os dados, inserts e tudo mais do banco…
:confused:

aqui vai o método que estou invocando para gerar o arquivo:

      /**
       * Método que gera um arquivo de backup do banco de dados...
       * e tambem uma pasta para armazenar o backup caso a mesma não exista.
       */
 public String backupBanco()
      {
          men = "Erro ao gerar o Arquivo de Backup.";
          String usuario = "root", senha = "123", banco = "mybook";
          String dataBackup = MetodosMybook.dataBackup();//Método de outra classe que retorna a data atual do sistema.


          int numerodobackup = 0;
            File diretorio = new File("Backup_Mybook");
            File backupGerado = new File("/Backup_" + dataBackup +".sql");
            // os zeros é para diferenciar um backup do outro

            //Isso cria uma pasta no mesmo diretório que está o projeto
            if(!diretorio.isDirectory()) 
            {  new File(""+diretorio).mkdir();  }

            // Cria Arquivo de Backup
           try {
                 if(!backupGerado.isFile()) {
                     Runtime.getRuntime().exec("cmd /c mysqldump -u" + usuario + " -p" + senha + " " + banco + " > " + diretorio + backupGerado);
                     men = "O arquivo não existia, então foi gerado... OK";
                 } 
                 else
                 {
                     while(backupGerado.isFile()) {
                         numerodobackup++;
                         backupGerado = new File(diretorio + "" + backupGerado + numerodobackup + ".sql");
                     }
                     Runtime.getRuntime().exec("cmd /c mysqldump -uroot -p123 mybook > " + backupGerado);
                     men = "O arquivo já existia, então foi gerado outro.... OK";
                 }
                 } catch (IOException ex) {
                 ex.printStackTrace();
                 }

          return men;
      }

Espero que alguém possa dar uma força… pq tá difícil, viu…

ou é algo ‘besta’ na hora de executar o código… ou não tem nada haver o que estou fazendo…

Obrigado desde já…

Abraços…

Caramba, velho… me recuso a acreditar que no Maior Fórum Java do Brasil não tenha progamadores que já tiveram de fazer uma aplicação que usasse como banco de dados o MySQL, e que tivesse de dar a opção ao Usuário de fazer Backup do Banco de Dados…

Custa dar uma força?¿?

aeeeeeeeeeeeeeeeee aco que alguem tinha respondido né huasuhaushuashuahsuhauhsuhaushauhsuahsuh :evil: :evil: :evil:

Um problema que eu identifiquei é que você não colocou espaço após o parâmetro -u. Após o -p está correto, realmente não tem espaço.
O código ficaria assim:

Runtime.getRuntime().exec("cmd /c mysqldump -u " + usuario + " -p" + senha + " " + banco + " > " + diretorio + backupGerado);  
private void Backup(String banco, String arquivo)
{
    try
    {
        Runtime runtime = Runtime.getRuntime();
        File backupFile = new File("C:/Automos/backup/"+arquivo+".sql");
        FileWriter fw = new FileWriter(backupFile);
        Process child = runtime.exec("C:/Arquivos de programas/MySQL/MySQL Server 5.0/bin/mysqldump --user=root --password=root --opt "+banco);
        InputStreamReader irs = new InputStreamReader(child.getInputStream());
        BufferedReader br = new BufferedReader(irs);

        String line;
        while( (line=br.readLine()) != null )
        {
            fw.write(line + "\n");
        }
        fw.close();
        irs.close();
        br.close();
    }
    catch(IOException e)
    {
        e.printStackTrace();
    }
}

Ve ai se resolve o seu problema…
FLW…