Pessoal, consigo fazer o backup da minha tabela normal mas quero programar para fazer o backup diariamente, eu vo em backup e na aba schedule selecionei a target folder em meu C:\ e coloquei execution time = Execute backup daily e no caso em 3 minutos, salvei e espero os 3 minutos e nao faz o backup automaticamente so manualmente o q pode ser?
Em Option>Connection os campos Connection,Username,Password,Hostname,Port estao preenchido mas Schema esta vazio é normal mesmo isso o erro nao é esse? vlw pela atenção!!
[Probleminha] MySql Administrator
8 Respostas
dei uma olhada no site da mysql e n encontrei nada falando sobre algo do tipo e minha aba advanced parameters esta vazia tambem!
Pq vc não utilizar o mysqldump e coloca ele no agendador de tarefas do windows?
O mysqldump é um utilitário do mysql que serve para extrair os dados dos bancos e p/ restaurar também.
[]´s
como uso ele? é igual o mysql administrator?
e como integro ele a meu projeto ? tipo la no meu projeto tem o botao BACKUP como vo fala pra ele i nesse mysqldump e fazer o backup?
Não.
É via linha de comando.
Abre um prompt de comando e digita mysqldump e da enter.
Se aparecer como o comando deve ser utilizado é pq ta funcionando.
Caso não, coloque o caminho da pasta bin do mysql na variável de ambiente path.
Com o comando funcionando é fácil utilizar.
http://dev.mysql.com/doc/mysql/en/mysqldump.html
Postei um shell script faz uns dias aqui no guj p/ backup usando mysqldump.
Dá uma pesquisada.
Ai vc teria q fazer um .bat no windows p/ executar no agendador.
[]´s
blz consegui faze o backup usando o mysqldump mas como botar um destino aonde sera salvo meu backup pq ele ta salvando la na pasta bin do mysql
fis o metodo e implementei na minha classe principal para testar criei um botao la e quando compilo meu programa aparece o seguinte erro
java.io.IOException: Cannot run program “mysqldump”: CreateProcess error=2, O sistema não pode encontrar o arquivo especificado
eu tenho quase ctz que isso é pq em minha classe
Runtime.getRuntime().exec("mysqldump -u Usuario -pSenha estoque > EstoqueBackup.sql");
Acho que aqui deveria ter C:\Arquivos de programa\MySql...mysqldump -u Usuario ......, pois bem
tentei adicionar isso para ver se o erro parava e realmente paro porem nao cria o backup e tambem nao gera nenhum erro veja como fico
Runtime.getRuntime().exec("C:/Arquivos de programas/MySQL/MySQL Server 5.0/bin/mysqldump -u Usuario -pSenha estoque > EstoqueBackup.sql");
to fazendo algo errado ? vlw
Como existem espaços no caminho do mysql, vc precisa colocar todo o comando entre aspas.
Fiz uma classe p/ backup aqui p/ vc. Dá uma olhada.
/**
* @(#)Util.java
*
*
* @author David Buzatto
* @version 1.00 2009/1/6
*/
import java.io.*;
import java.util.*;
public class Util {
public static void main( String[] args ) {
Util.makeBackup(
"C:/Arquivos de programas/MySQL/MySQL Server 5.0/bin/",
"",
"backup.sql",
"root",
"root",
"" );
}
public static void makeBackup(
String mysqlBinPath,
String backupFilePath,
String backupFileName,
String userName,
String password,
String databases ) {
try {
if ( databases == null || databases.trim().equals( "" ) )
databases = "--all-databases";
String comando = "\"" + mysqlBinPath + "mysqldump\" -u " + userName +
" -p" + password + " " + databases;
System.out.println( comando );
Process p = Runtime.getRuntime().exec( comando );
FileWriter fw = new FileWriter( backupFilePath +
backupFileName );
Scanner scan = new Scanner( p.getInputStream() );
while ( scan.hasNextLine() )
fw.write( scan.nextLine() + "\n" );
scan = new Scanner( p.getErrorStream() );
while ( scan.hasNextLine() )
fw.write( scan.nextLine() + "\n" );
fw.close();
} catch ( IOException exc ) {
exc.printStackTrace();
}
}
}
A geração do arquivo teve que ser feita tbm sem usar o operador de desvio de fluxo ( > ) pq ao usá-lo o mysqldump entendia que era uma tabela do banco especificado.
[]´s