[RESOLVIDO]mysqldump de dois bancos de dados

Olá, gostaria de saber como proceder para fazer o backup de dois bancos que tenho rodando em minha maquina

MySQL5 = 3306
MySQL6 = 3307

Li algumas coisas sobre mysqldump mas não sei como proceder.

vlw.

Opa blz?
usei isso hj!! vou te mandar meu código e vc tenta ae!! ta meio gambiarra mas ta funcionando!! é q o eclipose naum estava conseguindo executar o comando!! ai fiz um .bat e depois executei ele!!

package Administrador;
import java.io.*;

  public class BackupBD{
	  public  void gerarBat() {
		  File diretorio = new File("C:/BackupBanco");  
          File bck = new File("C:/BackupBanco/BD_escola000000.sql");  
          // os zeros é para diferenciar um backup do outro  
            
          // Cria diretório  
          if(!diretorio.isDirectory()) {  
             new File("C:/BackupBanco").mkdir();  
          }
	         
	           
	         FileWriter arquivo;  
	           
	         try {
	        	 //cria o .bat
	             arquivo = new FileWriter(new File("C:/BackupBanco/comando.bat"));  
	             
	             if(!bck.isFile()) { 
	            	 // coloca o endereço do mysql dump do seu pc aki!!! eu usava o do wamp!!
	            	 arquivo.write("cmd /c C:/wamp/bin/mysql/mysql5.0.45/bin/mysqldump.exe -h localhost -u root --opt escola > C:/BackupBanco/BD_escola000000.sql");  
	              } else {  
	            	  int numerodobackup = 0;
	                  while(bck.isFile()) {
	                	  //verifica se ja existe um arquivo em sql!! e conta ate q ache um numero disponível
	                	  numerodobackup++;
	                      bck = new File("C:/BackupBanco/BD_escola000000"+numerodobackup+".sql");  
	                  }
	               // coloca o endereço do mysql dump do seu pc aki!!! eu usava o do wamp!!
	                  arquivo.write("cmd /c C:/wamp/bin/mysql/mysql5.0.45/bin/mysqldump.exe -h localhost -u root --opt escola > "+bck);  
	              }
	             arquivo.close();
	         } catch (IOException e) {  
	             e.printStackTrace();  
	         } catch (Exception e) {  
	             e.printStackTrace();  
	         }  
	           
	  }
	  public void backupBanco(){
		  try
		  {
			  //roda o .bat
			  String line;  
			   Process p = Runtime.getRuntime().exec("cmd /c C:/BackupBanco/comando.bat");  
			   BufferedReader input =new BufferedReader(new InputStreamReader(p.getInputStream()));  
			   while ((line = input.readLine()) != null) {  
				   System.out.println(line);
				   System.out.println("Backup do Banco Efetuado");
			   }  
			   input.close();
		  } catch(Exception e) {
		  e.printStackTrace();
		  }

		  }
	  public static void main (String [] args){
		  BackupBD backup = new BackupBD();
		  backup.gerarBat();
		  backup.backupBanco();
	  }
  }

Abraxx ae qlqer coisa to on aki!!

Olá rodrigo73, obrigado pela dica mais queria fazer isto manualmente por linha de comando

achei algo assim mais não estou conseguinto exito

mysqldump -h localhost -u root -p bancodedados > c:\estoque.sql

meus 2 bancoes de dados não possuem senha e o usuario é root.

[quote=WalkMan]Olá rodrigo73, obrigado pela dica mais queria fazer isto manualmente por linha de comando

achei algo assim mais não estou conseguinto exito

mysqldump -h localhost -u root -p bancodedados > c:\estoque.sql

meus 2 bancoes de dados não possuem senha e o usuario é root.

[/quote]
O parâmetro -p serve para indicar ao mysqldump que ele deverá pedir a senha. Talvez retirando funcione.

[]'s

a sim!! vc quer o comando!!

utilize akele meu om o parametro --opt (esse faz um backup mais funcional e melhor de dar o resource)

tome cuidado, pois as vezes o comando nao funciona apenas com a palavra “mysqldump” e sim com o caminho do programa!!!
e o diretório de destino ja deve estar criado!!

outra dica: testa o comando no cmd do windows!! pra ver se ele ta funionando!!

Abraxx

Ola, consigo fazer o dump com

“mysqldump -h localhost -u root BANCODEDADOS> c:\estoque.sql”

mas tanto no mysql 5 quanto no 6 possuo varios bancos ( veja a imagem )

a minha duvida é a seguinte todos eles irão ser copiados? ou apenas o que eu indicar no BANCODEDADOS?

agora intendi a duvida!

esse comando salva apenas o especificado!

para salvar todos temos o parametro --all-databases

veja mais aki no manual!!!
http://dev.mysql.com/doc/refman/4.1/pt/mysqldump.html

Espero ter ajudado!!

rodrigo73era isso mesmo que eu precisava, muito obrigado!

abraços!

D nada manow!! tamo junto ae sempre!!
:smiley: