Jump to content
Fivewin Brasil

MySql - Copiar o BD - Resolvido (parcialmente)


evertonlb

Recommended Posts

Pessoal.. não tenho experiência nisso.. então preciso de uma ajuda!

Estou usando a SQLLIB do Vailton e assim usando o MySql como Banco de Dados, agora preciso instalar o software numa outra máquina.

Claro, vou instalar o MySql 5.0, mas e ai? Como faço pra copiar o meu Banco de Dados com suas tabelas pra dentro da máquina nova?

Att.

Everton

Link to comment
Share on other sites

um cuidado que voce deve ter é quanto a "corromper", pois no DBF se a tabela clientes der pau, vc joga a apenas ela de um BKP e pronto

ja é sql é mais complexo.

mas muito mais dificil de acontecer. Quase Zero, só mesmo quando o equipamento já está com pau

Link to comment
Share on other sites

Ah legal.. obrigado pela dica.

Mas agora me surgiu uma dúvida... No DBF eu checava a estrutura do arquivo e se tivesse uma alteração copiava o arquivo pra outro nome, criava um DBF com a estrutura nova e copiava os dados novamente... no MySql é a mesma coisa? Mas como checo a estrutura da tabela?

Att.

Everton

Link to comment
Share on other sites

Amigo, no meu caso eu nao uso o lance de comparar a estrutura x com a Y, eu uso o controle de versao e dou Comando Sql tipo assim


IF VERSAO = 101

COMANDO SQL := ' ALTER TABLE .................'
COMANDO SQL := ' ALTER TABLE .......................'
COMANDO SQL : = ' DROP TABLE .......................'
COMANDO SQL := ' UPATE ........'
ENDIF

IF VERSAO = 102

COMANDO SQL := ' MUDANÇAS E COMANDOS DA VERSAO'

COMANDO SQL := ' CRIAR TABELA ,,,,,,,,,,,,,,,,,,,,,,,'
ENDIF

Link to comment
Share on other sites

Everton

Boa tarde

aStru:=SQLARRAY("SHOW COLUMNS FROM TABELA WHERE Field='CAMPO'")
If Len(aStru) == 0
cSql:= "ALTER TABLE TABELA ADD COLUMN CAMPO DOUBLE(10,2) "
Endif
START TRANSACTION
SQL EXECUTE pSql
SQL EXECUTE "COMMIT"
END TRANSACTION
Você pode determinar em qual posição você quer inserir o novo campo adicionado os comandos AFTER ou BEFORE no final do comando ALTER Ex.:
cSql:= "ALTER TABLE SMCLPAR ADD COLUMN RISCOASO DOUBLE(1,0) AFTER CODIGO"
Pois precisamos dos 2 ultimos campos da tabela fixos sql_rowid e sql_deleted no meu caso SQLLIB
Se você inserir campos depois destes terá problemas.
Sobre o backup não recomendo copiar a pasta DATA. Não será todas as vezes que o cliente terá somente um sistema com MySql, se você copiar a pasta data sobre outra, você apaga a base de dados de outros bancos de dados. No meu caso utilizo o comando MySqlDump para backup e MySql para restore.
Outra coisa também é não fazer backup do banco de dados inteiro, sugiro fazer tabela por tabela. Quando o banco de dados fica muito grande fica difícil a manipulação do arquivo.
Att
João Bosco
Link to comment
Share on other sites

Pessoal... tenho um problema que já ocorreu em duas máquinas.

Instalei o MySql 5.0 e deu tudo certo, o serviço é iniciado e aparentemente esta tudo ocorrendo de maneira adequada.

Paro o serviço

Copio a minha pasta DATA para a maquina nova, mas quando vou iniciar o serviço dá uma mensagem de erro.

o Windows não pôde iniciar o serviço MySQL em Computador Local.

Erro 1067: O processo foi finalizado de forma inesperada.

Após copiar os dados o MySQL para de funcionar...

A máquina de origem dos dados é WIN7 64, e a destino é WIN7 32.

Alguma sugestão?

Link to comment
Share on other sites

Olá,

Não recomendo fazer becape do BD desta forma. O índice de recuperação, principalmente na precisão, é muito pequeno. Use sempre o DUMP ( mysqldump ). É a forma mais correta e não dá o problema apresentado.

mysqdump -hhost -uusuario -psenha bancodedados > \pasta\arquivo.sql

Link to comment
Share on other sites

Caro Everton,

Crie um instalador para o seu programa e estará resolvido o seu problema.

No Inno Setup voce ja deixa pronto para executar e configurar o MySql, abaixo está como eu faço.

[Run]
;PROGRAMAS A SEREM EXECUTADOS APÓS A INSTALAÇÃO (backup, winzip, etc.)
Filename: C:\CiaLoja\mysql\bin\mysqld-nt.exe; Parameters: --install; WorkingDir: C:\CiaLoja\mysql\bin; StatusMsg: Instalando MySQL Service; Description: Instalando MySQL Service; Flags: runhidden ; Components: base
Filename: net.exe; Parameters: start mysql; StatusMsg: Iniciando Serviço MySQL; Description: Iniciando Serviço MySQL. Por favor aguarde.; Flags: runhidden ; Components: base
Filename: C:\CiaLoja\mysql\config.bat; StatusMsg: Iniciando Serviço MySQL; Description: Configurando acesso; Flags: runhidden ; Components: base
Filename: c:\CiaLoja\CiaLoja.EXE; Description: Executar o Sistema CiaLoja 2.0; Flags: nowait postinstall skipifsilent; Tasks:
Qualquer coisa baixe inno setup e vai ver que é simples criar um instalador
Daniel Segura
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...