Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Dummies

Restore Base Mysql

Recommended Posts

Boa tarde a todos, esse é meu primeiro tópico nesse forúm, sou analista e programa em VB, normalmente em Oracle, Sql Server, Access, e agora estou começando a mexer com Mysql, e estu gotando muito.

Bom é o seguinte, aprendi nesse forum mesmo como fazer um Dump usando mysqldump e tambem já vi como é que se faz um restore.

Mas estou fazendo um teste que não dá certo, pelo menos ao meu ponte de vista.

Fiz um Dump de uma base...deu certo, ele cria o script no local que eu indico...até ai OK.

Depois eu vou lá da base de dados original e deleto uma tabela inteira, e dropo uma outra tabela...

Feito isso eu uso o mysqldump para restaurar minha base, a principio dá certo, pois não gera nenhuma mensagem de erro no prompt

Mas quando eu vou na base de dados eu vejo que a tabela que eu deletei todos os registros continua vazia, e a tabela que dropei não foi recriada.

É assim mesmo ??? Preciso restaurar para ficar como antes, eu entrei no script criado pelo mysqldump e está lá o Create table, os inserts...tudo certinho.

Veja abaixo como estou usando o mysqldump:

Para Exportar:

mysqldump - h localhost - u root -p12345 --databases dbmaster > c:\dump\dbmaster.sql

Para restaurar:

mysqldump - h localhost - u root -p12345 --databases dbmaster < c:\dump\dbmaster.sql

 

 

Lembrando que a principio dá certo e não gera nenhuma mansagem de erro no Prompt.

Feito isso eu abro o Command do MySql e vejo se restaurou...porem não está lá conforme eu precisava...

 

Gostaria de algum conselho, ou dica, pois acho que eu devo estar fazendo algo errado.

 

 

 

Desde já agradesço.

 

Dummies

 

 

 

 

 

Pessoal...

até agora ninguém respondeu...

Vou simplificar, o que eu preciso é apenas saber como testar se meu restore deu certo ou não, senão fico fazendo backp e na hora que realmente precisar restaurar não funciona...ai não adiantou nada faer os backups

Compartilhar este post


Link para o post
Compartilhar em outros sites

no arquivo de backup gerado

verifique se foi incluído o autocommit

 

 

senão, inclua manualmente

 

na primeira linha do arquivo:

SET AUTOCOMMIT = 0;
SET FOREIGN_KEY_CHECKS=0;

no final, na última linha

SET FOREIGN_KEY_CHECKS = 1;
COMMIT;
SET AUTOCOMMIT = 1;

 

salve e faça o restore normalmente.

 

 

referência: http://dev.mysql.com/doc/refman/5.0/en/mysqldump.html

 

comentário postado por Vesa Kivistö on August 26 2004 7:06pm

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hinom, muito obrigado pela resposta, segui seu conselho e adicionei as linhas do autocommit, que realmente estaval faltando.

 

Mas veja só que coisa...para fazer esse teste eu vou lá e faço um backup, depois faço uns updates nas tabelas.

 

E vejo que no arquivo sql que eu criei no backup está tudo conforme antes dos upodates, mas quando eu faço o restore, ele faz os insertes conforme estao atualmente...ele não está fazendo os insertes conforme estão dentro do arquivo sql.

 

Não sei se estou sendo claro na minha explicação...

 

 

 

Se puder ajudar agradeço.

 

 

 

 

 

no arquivo de backup gerado

verifique se foi incluído o autocommit

 

 

senão, inclua manualmente

 

na primeira linha do arquivo:

SET AUTOCOMMIT = 0;
SET FOREIGN_KEY_CHECKS=0;

no final, na última linha

SET FOREIGN_KEY_CHECKS = 1;
COMMIT;
SET AUTOCOMMIT = 1;

 

salve e faça o restore normalmente.

 

 

referência: http://dev.mysql.com/doc/refman/5.0/en/mysqldump.html

 

comentário postado por Vesa Kivistö on August 26 2004 7:06pm

Compartilhar este post


Link para o post
Compartilhar em outros sites

ficou confuso o que você explicou agora... :wacko:

 

assim, primeiro faz o backup

 

mysqldump - h localhost - u root -p12345 --databases dbmaster > c:\dump\dbmaster.sql

ok

 

gerou o arquivo "c:\dump\dbmaster.sql"

 

usando um editor de textos edite o arquivo "dbmaster.sql"

 

na primeira linha coloque:

SET AUTOCOMMIT = 0;
SET FOREIGN_KEY_CHECKS=0;

AUTOCOMMIT -> desativa o commit automatico

FOREIGN_KEY_CHECKS -> desativa verificação de chaves-estrangeiras

 

ok

 

vá pra ultima linha

 

coloque:

 

SET FOREIGN_KEY_CHECKS = 1;
COMMIT;
SET AUTOCOMMIT = 1;

salve, feche o editor de textos e execute o restore:

 

mysqldump - h localhost - u root -p12345 --databases dbmaster < c:\dump\dbmaster.sql

 

poderia confirmar os passos que fez ? foi isso ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Himon, desculpe pela confusão, mas agora consegui fazer o Restore...Sabe oque estava de errado...simplesmente eu estava usando o comando mysqldump para fazer o restore, e o correto é o comando mysql.

 

Entendeu?

 

A sintax é a mesma para fazer backup e restore, a unica diferença é que no lugar de mysqldump, eu devia ter colocado mysq.

 

Mas valeu pela força !!

 

 

 

Muito agradecido mesmo !!

 

 

 

T+

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.