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.
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!!
