Puis-je les fusionner deux bases de données en un seul dans Mysql si ils ont le même schéma?
J'ai deux bases de données MySQL, qui ont déjà des données. ils ont exactement le même schéma. Je voudrais fusionner ces deux bases de données en une seule. J'ai essayé:
mysqldump -u root -p --databases database1 database2 database3 > database1_database2_da
Cependant, lorsque j'essaie d'ouvrir database1_database2_da
, je n'ai jusqu'à la fin avec des données d'une base de données, mais pas tous d'entre eux. Je tiens également à mentionner que les deux bases de données ont leurs enregistrements commençant à 1, car ils sont automatiquement générés. Pensez-vous qu'il est un moyen de fusionner ces deux bases de données sans perte de données à partir de l'un d'eux?
Ont-ils contradictoires clés primaires? Vous auriez besoin de manipuler les données avant de les fusionner, ou vous aurez PK violations et/ou abandonné insère lorsque vous insérez le deuxième cliché.
Je ne vois pas de conflit de clé primaire, depuis que je obtenir seulement les données d'une base de données comme si c'était d'écraser les données de la deuxième base de données.
Je ne vois pas de conflit de clé primaire, depuis que je obtenir seulement les données d'une base de données comme si c'était d'écraser les données de la deuxième base de données.
OriginalL'auteur T3000 | 2011-06-29
Vous devez vous connecter pour publier un commentaire.
Exécuter
mysqldump
sur chaque base de données avec le--no-create-info
option pour éviter d'écrire les informations de schéma. Puis l'exécuter à la fois sur une base de données avec le--no-data
option. Si vous chargez tous ces fichiers de manière séquentielle dans la même base de données cible, cela devrait fonctionner, sauf les différences dans le schéma entre les deux bases de données ou de dupliquer des clés primaires.Après la création d'une nouvelle base de données, exécutez
Cela peut aussi travailler. N'ont pas une boîte de Windows pour tester sur ATM
Peut-être que cette info peut aider, je suis avec windows 07.
hehe. Désolé. Je commence en supposant que les personnes sont en cours d'exécution d'un UNIX comme système d'exploitation, la mise à jour.
J'ai essayé mysql -uroot -p -Ddatabase3 < schéma.sql, et j'ai eu: "Le système ne peut pas trouver le fichier spécifié", puis j'ai essayé de schéma.sql database 1.sql base de données2.sql | mysql -uroot -p -Ddatabase3 < schéma.sql, et j'ai eu: "Schéma.sql n'est pas reconnu comme une commande interne ou externe, un programme ou un fichier de commandes."
Si vous n'avez pas de double des clés primaires, alors c'est un non-problème, une mise en garde qui je l'ai mentionné dans ma réponse.
OriginalL'auteur Michael Mior
SQL-Hub (http://sql-hub.com) qui vous permettra de fusionner plusieurs bases de données avec le même schéma dans une base de données unique. Il y a une licence gratuite qui vous permettra de le faire à partir de l'INTERFACE utilisateur si vous pourriez avoir besoin de payer pour une licence si vous souhaitez planifier le processus pour s'exécuter automatiquement. Pour un hors tâche avec 2 bases de données, vous devez juste être capable de le faire avec la licence gratuite.
OriginalL'auteur Alan Hickman