Featured Posts

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

Extensão oci8 1.3.5 (Oracle database) para PHP 5 A versão 1.3.5 da extensão OCI8, responsável por fazer conxão do php com o banco de dados da Oracle, foi lançada recentemente. Em relação a ultima versão (1.3.4), foram corrigidos apenas bugs....

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: