Comment puis-je dump MySQL fichier sans les Clés Étrangères via la ligne de commande?
J'ai besoin d'exporter une grande base de données sans les clés étrangères. Quelle est la commande pour le faire?
C'est ce que j'ai essayé, mais je sais que c'est incorrect.
mysqldump -u root -p DBNAME SET FOREIGN_KEY_CHECKS = 0; | gzip > database.sql.gzip
double possible de Pouvez-vous créer automatiquement un mysqldump fichier qui n'appliquent pas les contraintes de clé étrangère?
C'est une toute autre question, n'incluant pas les touches est différente de désactiver les contrôles sur les touches.
C'est une toute autre question, n'incluant pas les touches est différente de désactiver les contrôles sur les touches.
OriginalL'auteur user1452145 | 2012-06-12
Vous devez vous connecter pour publier un commentaire.
À partir de ce fil:
Pouvez-vous créer automatiquement un mysqldump fichier qui n'appliquent pas les contraintes de clé étrangère?
De la commande mysqldump inclus avec MySQL 5.0.51 (et, selon le journal des modifications de versions depuis la version 4.1.1) n'éteignez contrôle des clefs étrangères. Par défaut, la commande mysqldump comprend la ligne suivante en haut du fichier de vidage:
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
L' /*!40014 ... */syntaxe est un commentaire conditionnel qui sera exécuté sur MySQL 4.0.14 et plus tard. La vieille clé étrangère vérifie les paramètre est restauré à la fin du fichier de vidage:
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
Il ne ressemble pas à une réponse pour moi. La question était d'avoir un dump sans contraintes FK et pas de le désactiver temporairement. Le fichier de vidage encore contenir des contraintes FK.
OriginalL'auteur philwinkle
vous pouvez utiliser le
--init-command
drapeau sur une session par session:mysqldump
enmysql
.OriginalL'auteur codewandler
C'est moche, mais j'ai juste modifier le fichier de schéma pour supprimer les clés étrangères.
Dump schéma uniquement, pas de clés étrangères
sed
trouve les lignes qui précèdent la contrainte de clé étrangère déclarations et remplace ces lignes avec eux-mêmes, sans la virgule.grep
exclut les contraintes de clé étrangère.Les données d'image, pas de création de la table
Charge de schéma d'abord, puis des données
Testé avec la commande mysqldump Ver 10.13 Distrib 5.6.32-78.1, pour Linux (x86_64).
OriginalL'auteur MatrixManAtYrService