Como faço um backup MySql pelo Java

Olá a todos, eu estou fazendo um projeto que precisa de um backup para o banco de dados MySql.

Eu pesquisei mto neste e em muitos outros fóruns a respeito, mas não consegui entender a lógica. Estou preocupado que, dependendo da

forma que realizo o backup, o sistema perca a multiplataforma. Isso pode msm ocorrer? Qual é o meio mais fácil de fazê-lo e/ou o meio

mais eficáz para isso ? Tem algum jeito de usar apenas o java sem utilizar o mysqldump e ainda sem preder a multiplataforma ?

Desde já obrigado a todos que ajudarem… :smiley:

Tem alguma restrição no projeto em usar o mysqldump, que vem incluso no MySQL Server?.

Outra ferramenta muito boa da própria MySQL é o WorkBench, que possui funções para gerar/restaurar backups.

Edit: não vi que já tinha citado o mysqldump. Acho que o único problema que possa atrapalhar seus a funcionarem em qualquer plataforma é o charset do banco e a forma como gera o backup, não colocando seus blobs em hexadecimal durante o backup, e o charset do sistema operacional mesmo. Mas mesmo o problema do charset vc pode converter o backup de latin1(ISO-8859-1) para utf8, por exemplo,antes de restaurá-lo.

Na verdade nao, mas eu num entendi nada quando procurei backup com isso! Eu tenho o mySql workbench, mas como eu faço o backup ?

Editei o post anterior.

Na tela principal do Workbench tem 3 partes, a primeiro onde executa comandos DML/DDL, a segunda para modelagem e a última para administração. Logo quando abre a administração tem a opção DATA EXPORT / RESTORE.

E como eu chamo o backup do workbench via código java ?

Não dá. O ideal é gerar o backup via mysqldump e restaurá-los mysql < arquivo.txt.

Sem querer ser chato, mas tem como vc me dar um exemplo de como fazer o backup?

Ao menos dá para passar as informações necessárias para o mysqldump pelo java e/ou

fazer o backup sem que o usuário precise ter qualquer conhecimento de programação ?

Dump:

mysqldump.exe -u root --password="SENHA_DO_ROOT" -x -e -B -i -K --add-drop-database --add-drop-table -d --default-character-set=latin1 "BANCO" > "SAIDA_BACKUP".sql

Restauração:

mysql -u root -p < "SAIDA_BACKUP".sql

Ex:

mysqldump.exe -u root --password=root -x -e -B -i -K --add-drop-database --add-drop-table -d --default-character-set=latin1 myapp > C:/Temp/myapp.sql mysql -u root -p < C:/Temp/myapp..sql

Muito obrigado mesmo, [color=darkblue] lsjunior[/color], voçê me ajudou mto msm, vo testa agora mesmo! :smiley:

Qualquer outra dúvida eu volto a pergunta, OK :?: