Importar grandes arquivos mysql / import large files mysql

Quando realizamos um dump de banco de dados ou apenas exportamos um .sql para importamos em outro banco, normalmente ficamos com arquivos gigantes dependendo do banco.

No meu exemplo, estou importando um arquivo de 380mb com aproximadamente 900mil registros e para importar isso é bem lento, levarias horas. Então achei uma configuração do mysql que ajuda nessa importação.

Mas só utilize essa configuração para esses casos de importar dados que você tem certeza que estão íntegros, para não bagunçar o banco, pois ele vai ignorar algumas checagens de segurança.

Basicamente você precisar abrir seu arquivo de configuração do mysql my.ini no windows ou my.cnf no linux.
E adicionar as seguintes linhas:

Após isso reinicie seu mysql e faça a importação.

Quando concluir o trabalho, remova essas configurações e reinicie novamente o mysql.

Fonte: http://aionica.computerlink.ro/2012/04/fast-mysql-database-restore-import-from-full-dump-files/

Editor de texto para arquivos grandes / pesados

Quem trabalha com logs de sistemas ou análise de grandes arquivos sabe a dificuldade que é abrir arquivos com 500mb, 1gb ou mais em editores como notepad++ no windows ou gedit no linux.

Para windows eu uso a algum tempo o PilotEdit.

Quando usei a primeira vez achei que tinha aberto o arquivo errado, pois abriu muito rápido e não travou nada. Mas é isso mesmo, o sistema é muito otimizado e sabe trabalhar muito bem com arquivos gigantes como dumps de banco de dados, arquivos de log, scripts de mysql, etc.

Para linux, apesar do gedit ser até bonzinho, ele está na mesma linha do notepad++. Então achei uma nova solução.

glogg

Glogg. Um programa focado em arquivos de log que normalmente são os maiores.

Site: http://glogg.bonnefon.org/download.html

Além disso ele tem versão para Windows também.

Ainda não encontrei uma alternativa ara MAC OSX, mas assim que achar eu posto.

Criar repositório GitHub via linha de commando Linux

Quando estamos trabalhando com projetos Git é comum usar sempre os comandos, init, clone, add, commit e push. Mas quando iniciamos um novo projeto, sempre precisamos ir ao site do GitHub.com e criar o projeto para pegarmos a url e adicionarmos ao projeto.

Então para que não seja necessário acessar o site e criar o projeto por lá, você pode fazer isso via CURL com o seguinte comando:

Depois disso é só adicionar a url ao projeto local com o comando:


Fiz um passo a passo básico usando esses comandos:

1 – Criar pasta:

2 – Entrar na pasta:

3 – Iniciar git na pasta:

4 – Adicionar arquivos:

5 – Criar pacote:

6 – Criar repositório git online:

7 – Adicionar a url ao git local:

8 – Enviar arquivos:


Espero te ajudado.

Uploadify faz requisição extra nas páginas.

Se sua página realiza uma ação toda vez que é aberta, então se você colocar o uploadify nela a ação será executada duas vezes. Resumindo é isso.

Sua página irá rodar duas vezes, uma no seu acesso e outra vez por uma requisição do swf do uploadify. Isso acontece por um bug relacionado a imagem do botão do uploadify.

O plugin permite que você defina uma imagem para substituir o botão de upload, mas se você não define ela, ele faz um request na url atual e isso gera o bug. Normalmente só quem passar por esse problema vai entender completamente a situação.

uploadify_request

Achei no forum do uploadify outro usuário reportando o problema e dando outra solução. Mas parece que o erro ainda não foi corrigido, pois o próprio site deles tem esse erro como vocês podem ver na imagem abaixo.

Forum: http://www.uploadify.com/forum/#/discussion/10168
Título: Uploadify makes an extra HTTP request when initializing SWF

Erro no site:
 uploadify_request_demo

Solução temporária até que o bug seja corrigido.

User a tag  preserve_relative_urls : true como no código abaixo.

Pronto. Não é feito mais o request.
uploadify_corrigido

Dúvidas nos comentários.

Criar Trigger Mysql INSERT, UPDATE, DELETE

Código básico para criação de trigger em MYSQL.

Lembrando que a trigger fica relacionada a tabela principal, então se ela for deletada a trigger vai junto. Cuidado com isso.

INSERT

UPDATE

DELETE

 

Uploadfy crash Chrome. Js Crasch Chrome

Há alguns dias notei que um projeto meu estava dando crash no Google Chrome.

Como de costume foi debugando e removendo os scripts da página para localizar o erro e descobri que o Uploadfy estava causando o erro. Não descobri ainda qual é o motivo do erro, mas descobri como solucionar temporáriamente até descobrir uma solução definitiva.

O problema é causado por cache do arquivo de Javascript, pode ser o Uploadfy.js ou outros.

Forçando o carregamento do arquivo o problema some. Então foi só chamar o arquivo assim:

 

 

Sincronizar tabela de banco local com online.

A necessidade era sincronizar uma tabela do banco que roda na intranet com a que roda no servidor na internet.

Procurei varias soluções como sincronizar o banco pelo PHPMyAdmin, scripts prontos e programas específicos.
Mas a melhor solução foi criar uma tabela federated.

Assim você cria a tabela igual localmente e online, e os dados dela são armazenados no banco online.

Isso gera um pouco de lentidão nos processos de CRUD, então criei uma tabela intermediaria e uso triggers para atualizar ela, que por sua vez atualiza a online.

Ficou assim:

Tabela: usuarios (Local)
Tabela: usuarios_online (Federated Local)
Tabela: usuarios_online (Servidor web)

Fluxo: usuarios > usuarios_online <> usuarios_online

Então qualquer alteração na usuarios_online é sincronizada, independente de onde é feita, local ou online. Mas a tabela usuarios não recebe atualização, apenas envia.

Código MySQL local:

Código MySQL online (Normal como qualquer outra):

Dúvidas nos comentários.

Problema Safari Facebook App IFrame

Problema solucionado com o seguinte código.

Encontrado em: http://snipplr.com/view/66858/facebook-safari-session-problem–safari-iframe-set-cookie/

Apache não inicia como serviço no windows 7

Xampp apache não inicia como serviço no windows 7.

Testei de várias formas:
1º – Pelo “apache_installservice.bat” que vem junto com o XAMP.
Mas ele cria o serviço e não inicia. Então olhando os logs de eventos do windows

2º – Por linha de comando:

Mas ele não iniciava.

O interessante é que o apache e o xampp funcionam normalmente. Ele só não roda como serviço.
Então fiz dezenas de testes e descobri no meu meu caso o que estava ocorrente.
Para descobrir o analisei o log de erro do window:

log_erro_apache

Outro ponto é que eu uso o Google Drive para meus projetos então, analisando as permissões vi que apenas meu usuário estava com permissão de leitura a pasta do google drive e foi só adicionar o usuário, apache e o sistema que resolveu.

permissoes

Caso tenham alguma dúvida é só postar nos comentários que posso tentar ajudar.

Programação, desenvolvimento e etc.