Mostrando postagens com marcador Banco de Dados. Mostrar todas as postagens
Mostrando postagens com marcador Banco de Dados. Mostrar todas as postagens

31 maio 2013

* »« † Mick D'arc ™† »« *

Importar banco de dados no MySQL pelo prompt do DOS

 
Recente, em um projeto, encontrei um grande problema. Fazer a importação de um arquivo relativamente grande. Todas as vezes que tentava realizar esta importação, demorava muito tempo ou mesmo sequer completava, dando erros "inexplicáveis'. Então resolvi procurar e uma solução para o problema e encontrei uma bem simples: importação via prompt de comando.
Ao invés de importar diretamente pelo phpMyAdmin, faz-se a importação via command prompt do Windows (isso mesmo, o velho DOS).
Vai abaixo um passos para essa operação de importação do banco de dados via prompt. Lembrando que a mesma solução pode ser realizada pelo linux, claro que utilizando ferramentas(Terminal) , caminhos(/opt, /etc, etc) e comandos similares próprios do Linux.
Lembrando que neste tutorial se está utilizando o XAMPP(www.apachefriends.org/pt_br/xampp.html).

1) Iniciar > Executar > cmd
Isso server para abrir o terminal. Outro modo é abrir o programa diretamente pelo seu executável, o caminho dele normalmente é c:\WINDOWS\system32\cmd.exe. Ou ainda o atalho das teclas: 'Win' + R -> cmd

2) Digite o comando: c:\xampp\mysql\bin
Isto leva para o diretório local de instalação do MySQL.


3) Digite o comando: mysql -u root -p
Isto inicia o MySQL, a seguir digite a senha de administrador (root) do banco de dados.
4) Se estiver tudo correto vai aparecer no prompt algo assim: mysql>




Dentro do prompt utilize os mesmos comandos que utiliza na programação, como por exemplo: show databases;
Uma dica valiosa é o comando para alteração do charset, muitas vezes você vai importar o SQL e a acentuação ficará com problemas para resolver essa questão utilize o comando: mysql> charset utf8;




Para concluir a importação você precisa selecionar o banco de dados desejado e dar o comando para importação, são os seguintes:
mysql> use nomedo_db;
mysql> source d:/nomedoarquivo_db.sql;




Com essas operações você consegue importar um arquivo grande em poucos segundos. Importante lembrar que você utilize a opção DROP TABLE quando for fazer a exportação, assim as tabelas ficarão exatamente ao que está online.

23 fevereiro 2012

* »« † Mick D'arc ™† »« *

DUMP e RESTORE entre Postgresql 7 e 8

 

Todo administrador de sistemas pelo menos uma vez ficou com aquele servidor encostado com meia duzia de clientes que acabaram sendo esquecidos entre várias migrações.
E é ai que começa o problema, sairam várias versões novas do postgresql e o >dump que você faz no servidor antigo não restaura no novo… o que fazer?
Não estou dizendo que isto irá funcionar em todos os casos, mas em 2 bombas que eu encarei por aqui hoje pelo menos funcionou.
No momento do dump, utilize o usuário postgres (ou equivalente, com nível de administrador, se rodar com usuário restrito pode dar erro na hora de importar alguma coisa – pelo menos comigo deram vários). E sete os seguintes parâmetros:

pg_dump -U postgres -F t -x -i -O -v -f -W arquivodebackup.tar -d bancodedados

-U: usuário
-F: tipo de dump (neste caso t de tar, foi a única forma de resolver os problemas de caracteres)
-x: não envia informações de privilégios (grant/revoke)
-i: ignora versão
-O: não envia dados do owner
-v: verbose, caso dê algum erro no momento de gerar você vê na tela.
-f: arquivo de destino
-d: banco de dados
-W: força o pedido senha

Para fazer o restore utilize obrigatoriamente o usuário que irá utilizar o banco posteriormente, pois lembre-se no momento do backup e do restore mandamos ignorar estas informações.

pg_restore -d bancodedados -F t -i -v -O -x -U usuario -W arquivodebackup.tar

Espero ter ajudado, perdi um tempo razoável brigando com o dump e o restore, a diferença de versão era grande (7.2 e 8.3.8)

Fonte: http://wv.brasilnetwork.com.br

Mais informações sobre Dump e Restore: http://pt.wikibooks.org/wiki/PostgreSQL_Pr%C3%A1tico/Administra%C3%A7%C3%A3o/Backup_e_Restore