Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Kann ich zwei Datenbanken in MySQL zu einer zusammenführen, wenn beide dasselbe Schema haben?

Führen Sie mysqldump aus auf jeder Datenbank mit dem --no-create-info Option, um das Schreiben von Schemainformationen zu vermeiden. Dann einmal auf einer Datenbank mit dem --no-data ausführen Möglichkeit. Wenn Sie alle diese Dateien nacheinander in dieselbe Zieldatenbank laden, sollte dies funktionieren, abgesehen von Schemaunterschieden zwischen den beiden Datenbanken oder doppelten Primärschlüsseln.

mysqldump -u root -p --no-create-info database1 > database1.sql
mysqldump -u root -p --no-create-info database2 > database2.sql
mysqldump -u root -p --no-data database1 > schema.sql

Führen Sie nach dem Erstellen einer neuen Datenbank

aus
mysql -uroot -p -Ddatabase3 < schema.sql
mysql -uroot -p -Ddatabase3 < database1.sql
mysql -uroot -p -Ddatabase3 < database2.sql

Das kann auch funktionieren. Sie haben keine Windows-Box zum Testen auf ATM

type schema.sql database1.sql database2.sql | mysql -uroot -p -Ddatabase3