Boa tarde pessoal.
to precisando de uma ajuda de como posso fazer pra restaurar o backup de um banco de dados via java, com banco mysql, sem ter que usar o administrador do mysql gui tools.
Ex.: seleciono um arquivo e ele restaura o banco.
valeu…
Boa tarde pessoal.
to precisando de uma ajuda de como posso fazer pra restaurar o backup de um banco de dados via java, com banco mysql, sem ter que usar o administrador do mysql gui tools.
Ex.: seleciono um arquivo e ele restaura o banco.
valeu…
esse comando deve resolver:
Valeu, problema resolvido !!
vc tem o código resolvido, estou precisando estudar!!
Segue o código !
public static void restauraBackup(){
String arq;
Propriedades props = new Propriedades();
try{
props.chamaProps();
String ip = props.getIp_serv();
String snh = props.getSenha_bd();
String banco = props.getNm_banco();
int res;
JFileChooser chooser = new JFileChooser("c:\\sdo-backup");
chooser.setDialogTitle("Selecione o arquivo de backup");
chooser.showOpenDialog(chooser);
File bkp;// = new File();
bkp = chooser.getSelectedFile();
arq = bkp.getPath();
Process proc = Runtime.getRuntime().exec("cmd /c mysql -uroot -p"+snh+" -f "+banco+" < "+arq);
proc.waitFor();
res = proc.exitValue();
if (res == 0){
JOptionPane.showMessageDialog(null, "Backup Restaurado com sucesso !");
}
else{
JOptionPane.showMessageDialog(null, "Falha ao restaurar backup. \n Verifique as configurações ou entre em contato com o suporte !");
}
}
catch(Exception err){
JOptionPane.showMessageDialog(null, "Erro ao restaurar banco: "+err.getMessage());
System.out.println(err.getStackTrace());
}
}
[quote] JFileChooser chooser = new JFileChooser("c:\\sdo-backup");// o que vem a ser sdo_backup
[/quote] è uma pasta?
Sim, eu deixo como padrão a pasta onde os backup são feitos. Quando clica-se em abrir, o open dialog ja se posiciona nesta pasta.
perfeito, entendi como vc fez, legal.Agora, onde posso encontrar um help para fazer o backup, tem uns post aqui, mas não entendi muito bem, vc consegui fazer o backup? Pode me ajudar? Nem sei por onde começar, valeu pela força anteriormente!!!
Não sei se esta 100 % o código, mas funciona !
public static void fazBackup(){
Calendario cal = new Calendario();
cal.mostraHora();
int dia = cal.getDia();
int mes = cal.getMes();
int ano = cal.getAno();
mes = mes + 1;
Propriedades props = new Propriedades();
props.chamaProps();
String ip = props.getIp_serv();
String snh = props.getSenha_bd();
String banco = props.getNm_banco();
File diretorio = new File("C:/SDO-Backup");
File arquivo = new File("C:/SDO-Backup/bkp_"+banco+"_"+ano+"_"+mes+"_"+dia+".sql");
Boolean snbkp = true;
// Cria diretório
if(!diretorio.isDirectory())
new File("C:/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=C:/SDO-Backup/bkp_"+banco+"_"+ano+"_"+mes+"_"+dia+".sql");
proc.waitFor();
int res = 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 !");
}
}
comoé sua classe Propriedades?
Da uma olhada na documentação do java sobre properties !
vlw!pnc