Backup MySQL

Olá a todos.

Estou construindo uma aplicação desktop e gostaria de saber como faço um backup do meu banco de dados atraves
de um método ativado pelo usuario, por exemplo: clicando em um botão.

Vi outros artigos no fórum mas nao deu certo com as dicas que vi…

desde ja agradeço.

fbraga, consegui realizar o backup do MySQL através da execução de um arquivo .bat contendo as instruções DOS, após criado o arquivo .bat criei um botão, um método para executar o arquivo e um actionPerformad do botão colocando o método para ser executado.

Qualquer coisa estamos por aqui.

Olá amigo.

Não sei nada sobre arquivos .bat, mas vou dar uma lida no assunto.

se vc puder me formecer um exemplo de como se faz eu agradeço.

abrçs.

[code] {
DateTime cal = new DateTime();
int dia = cal.getDayOfMonth();
int mes = cal.getMonthOfYear();
int ano = cal.getYear();
String snh = “”; //props.getSenha_bd();
String banco =“studio”; // props.getNm_banco();
File diretorio = new File(“D:/SDO-Backup”);
File arquivo = new File(“D:/SDO-Backup/bkp_”+banco+""+ano+""+mes+"_"+dia+".sql");
Boolean snbkp = true;
// Cria diretório
if(!diretorio.isDirectory()) new File(“D:/SDO-Backup”).mkdir();
// Cria Arquivo de Backup
try {
if (arquivo.isFile()){
if(JOptionPane.showConfirmDialog(null,“Ja foi criado backup hoje, deseja substituir ?”,“Backup ja existe”,JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION)
{
arquivo.delete();
snbkp = true;
}
else
{
snbkp = false;
}
}

	  if(snbkp==true)
	  { 

/*
Process proc =
Runtime.getRuntime().exec(“cmd /c mysqldump -uroot -p”+snh+" -h “+ip+” “+banco+” --result-file=D:/SDO-Backup/bkp_"+banco+""+ano+
"
"+mes+"_"+dia+".sql"); proc.waitFor();

*/
String comando = “C:\Program Files (x86)\MySQL\MySQL Server 5.1\bin\mysqldump”;
ProcessBuilder pb = new ProcessBuilder(comando, “–user=root”,
“–password=”+snh, banco, “–result-file=D:\SDO-Backup\bkp_” +banco+""+ano+
"
"+mes+"_"+dia+".sql");
pb.start();
int res = 0;//proc.exitValue();

	  if (res == 0)
		  JOptionPane.showMessageDialog(null,"Backup criado com Sucesso !");
	  else 	{
		  JOptionPane.showMessageDialog(null,"Falha ao criar Backup. \n Verifique as configurações ou entre em contato com o suporte !",
				  "Erro ao criar backup", JOptionPane.ERROR_MESSAGE);
	  	  } 
	  }
  }
  catch (IOException ex) {
	  ex.printStackTrace();
	  System.out.println(ex); 
	  JOptionPane.showMessageDialog(null,"Erro na criação do Backup !");
  } catch(Exception err){
	  System.out.println(err);
	  JOptionPane.showMessageDialog(null,"Erro na criação do Backup !");
  }[/code]

soh falta implementar o botão…

luxu.

vou testar agora…

valeu

Como se diz por aqui:

“SELADO AMIGO, SELADO!!!”

Valeu mesmo luxu, funcionou legal.

blz brow coloca resolvido entaum…

rss, Como faço, nao sei,…

kkkk

Ha sim, antes de terminar, vc pode me quebrar outra.

e o restore, como procedo??

grato

v ai nesse link…http://www.guj.com.br/java/252883-exportarimportar-bds-mysql-no-linux#1319712...mas o problema eh fazer o comando funcionar, aki naum funcionou…

Ok, verificarei com calma… agradeço;

Muito bom luxu, irei dar um olhada no código e verificar como posso implementar na minha aplicação.

Agora você sabe mim dizer como posso realizar o inverso? Restaurar o banco?

v akele link q postei…lah tem todo eskema de restaurar, mas naum funciona pq naum conseguimos fazer rodar o comando, só falta isso pra fechar a rotina de backup/restore.

luxu, utilizando um arquivo .bat consegui-se restaurar o banco com o comando:

mysql -u root@localhost --password=senhaDoBanco < CaminhoOndeDeveSerSalvo

anexa ele pra mim ver entaum…

Segue os comandos do arquivo .bat

@echo Sistema de Restauracao do SisGEAC
@echo restaurando...


@echo off

cd/

cd Program Files
cd MySQL
cd MySQL Server 5.5
cd bin

mysql -u root -pmasterlab -h localhost senha < C:\BACKUP\arquivo_saida.sql



@echo Restauracao realizada com sucesso.

Por favor, avisar quando conseguir.

Boa luxu

ola galera, sou novo no fórum gostaria de saber oque seria o ip dessa linha de comando:

Runtime.getRuntime().exec("cmd /c mysqldump -uroot -p"+snh+" -h "+ip+" "+banco+" --result-file=D:/SDO-Backup/bkp_"+banco+"_"+ano+ "_"+mes+"_"+dia+".sql"); proc.waitFor();

aguardo, obrigado a todos

eu segui o codigo do luxu, executou normalmento mas meu arquivo sql veio em branco.