Featured Posts

Boas práticas e convenção de código Java Como a oracle comprou a tão conhecida Sun microsystems, e sabe lá deus se o conteudo do site pode sumir do dia pra noite, vou deixar arquivado aqui um pdf, com as boas práticas e conveção de código...

Readmore

Resetar senha do mysql 5 no windows para quem esqueceu Hoje eu estava dentro do mysql (no windows, acredito que no linux o processo tambem seja igual), e precisava trocar a senha dele por uma mais trivial. Tarefa fácil, ja fiz muitas vezes e não irei errar!...

Readmore

Resetar senha do mysql 5 no windows para quem esqueceu Hoje eu estava dentro do mysql (no windows, acredito que no linux o processo tambem seja igual), e precisava trocar a senha dele por uma mais trivial. Tarefa fácil, ja fiz muitas vezes e não irei errar!...

Readmore

Gráficos com Google Chart API Toda pessoa que se torna programador :P, um dia na vida pelo menos, vai ter a necessidade de mostrar dados em formas de gráficos! Veja agora um pouco de Google Chart API em 10 minutos. A API do Google...

Readmore

Backup e importação de dados no Mysql Se você tem acesso à maquina na qual o Mysql está instalado ou seu servidor permite conexões externas, você pode facilmente criar um backup de um banco de dados em poucos minutos. Primeiramente,...

Readmore

  • Prev
  • Next

Ignorar foreign keys & relacinamentos no mysql na hora de realizar backup

Posted on : 15-12-2009 | By : Wryel | In : mysql

0

Em uma das empresas que trabalhei, a gente estava tendo dificuldade na hora de exportar um banco de dados que possuia relacionamentos e dependêcias um pouco complexos. Acontecia que o script de backup gerado pelo mysqldump sempre exportava algumas tabelas FILHAS antes das tabelas PAIS.

Quando você tentava importar pra dentro utilizando o client binario do mysql, ou até mesmo o phpmyadmin, ele acabava perdendo muitas chaves estrangeiras e até mesmo dados. Segue a solução que se adequou para nós.

Quando exportar dados no mysqldump, faça:

mysqldump -h seuHost -u seuUsuario -p nomeDoBanco --disable-keys > nomeDoSeuBackup.sql

Depois de exportado, abra o arquivo, e na primeira linha adicione:

SET foreign_key_checks = 0;

e no final do arquivo:

SET foreign_key_checks = 1;

Agora é só exportar normalmente o arquivo para dentro do mysql. Se preferir o client do mysql, o comando ficaria:

mysql -h seuHost -u seuUsuario -p nomeDoBanco < nomeDoSeuBackup.sql

Write a comment

Security Code: