Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Retaurar a base de dados Mysql


FabioMachado
 Share

Question

Boa noite. Eu estou tendo problemas para restaurar uma base de dados mysql.

Eu realizo o backup da base através do delphi com o seguinte comando:        cComando := 'mysqldump -u ' + USER_LOCAL + ' -p' + PASSWORD_LOCAL + ' -h ' + SERVIDOR_LOCAL + ' ' + BANCODEDADOS_LOCAL;

Esse comando no delphi funciona direitinho, o backup fica com o tamanho certo, as tabelas estão todas la, os dados mas eu não consigo restaurar essa base.

Alguém tem uma dica?

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0
4 horas atrás, Jhonas disse:

Então Jonas, eu já tentei essas linhas de restauração mas nada funciona. Me retorna o seguinte erro:

wrning: Using a password on the command line interface can be insecure.

Error 1064 (42000) at line 1: You have an error in your sql syntax; check the manual that correponds to your Mysql server version for the right syntax to use near `Warning: Using password on the command line interface can be insecure.

Link to comment
Share on other sites

  • 0

Erro 1064 (42000) na linha 1: Você tem um erro em sua sintaxe SQL ;
verifique o manual que correponde a versão do seu servidor MySQL para utilizar a sintaxe corretamente.
' Aviso: a utilização de senha na interface de linha de comando pode ser inseguro .

Para fazer o Backup

mysqldump -u root -p123  --database banco_exemplo > backup_banco.sql

E para restaurar o banco de dados  utilize:

mysql -u root -p123 -h localhost banco_exemplo < backup_banco.sql

================================================================

nesse comando ( > backup_banco.sql ) voce tem que indicar qual é o caminho onde voce salvou o backup do banco de dados

nesse comando ( < backup_banco.sql ) voce tem que indicar qual é o caminho do backup para poder restaurar

================================================================

OBS:  voce esta usando como linha de comando ou em uma linguagem de programação ?

abraço

 

Link to comment
Share on other sites

  • 0

No Delphi eu uso

mysqldump --opt --flush-logs --triggers --port=3306 --user=root --result-file=backup.sql --databases "meuBancoDeDados"

--result era uma recomendação da MySQLA/B para formação de nomes de backups em windows. (Diferente do > no linux).

Para recuperação de backup eu uso  o gerenciador de linha que trabalha no console do cmd

em c:\ ou no diretório onde estiver meu backup, entro em

mysql -u root -p

no prompt mysql>

eu digito source nomedomeubackup.sql

digito enter e espero o termino

saia com quit 

Link to comment
Share on other sites

  • 0

Bom dia, vou postar aqui a solução do backup através do delphi e do restore.

procedure TfrmLogin.BackupBase;
var
  cArquivo, cData, cComando, cSaida : String;
  iDia, iMes, iAno : Word;
  tArquivo : TextFile;
begin

  DecodeDate(Date, iAno, iMes, iDia);
  cData := IntToStr(iAno) + Zeros(IntToStr(iMes), 2) + Zeros(IntToStr(iDia), 2);

  cArquivo := ExtractFilePath(Application.ExeName) + '..\bkp\'+BANCODEDADOS_LOCAL+'_'+ cData + '.sql';

  if (not FileExists(cArquivo)) then
  begin

    if MessageBox(Handle, 'O Backup da Base de Dados não foi realizado ainda, Deseja realizar o Backup agora?','Confirmação',mb_yesno + mb_iconquestion) = id_yes then
      begin
        Self.Caption := 'Realizando backup de hoje. Aguarde ...';

        AssignFile(tArquivo, cArquivo);
        Rewrite(tArquivo);                                                                                           //databases dbmaster > c:\dump\dbmaster.sql
        cComando := 'C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqldump -u ' + USER_LOCAL + ' -p' + PASSWORD_LOCAL + ' -h ' + SERVIDOR_LOCAL + ' ' + BANCODEDADOS_LOCAL;


        try
          Execute(cComando, cSaida);
        except
        end;

        WriteLn(tArquivo, cSaida);
        CloseFile(tArquivo);
      end;
  end;
end;

 

Para Restaurar eu segui as informações do Denis Courcy:

1 - Re-criei o schema, utilizando um gerenciador (no meu caso o administrator)

2 - Abre gerenciador de linha que trabalha no console do cmd

em c:\ ou no diretório onde estiver meu backup, entro em

mysql -u root -p

no prompt mysql>

use "nomedobancodedados" criado pelo passo 1

eu digito source nomedomeubackup.sql

digito enter e espero o termino

saia com quit 

 

 

Espero que ajude a outros!! Valeu

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share



  • Forum Statistics

    • Total Topics
      149.6k
    • Total Posts
      646.1k
×
×
  • Create New...