sql >> Databasteknik >  >> RDS >> Mysql

Kan jag slå samman två databaser till en i Mysql om de båda har samma schema?

Kör mysqldump på varje databas med --no-create-info alternativ för att undvika att skriva schemainformation. Kör sedan en gång på en databas med --no-data alternativ. Om du läser in alla dessa filer sekventiellt i samma måldatabas bör detta fungera, med undantag för eventuella skillnader i schema mellan de två databaserna eller dubbletter av primärnycklar.

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

När du har skapat en ny databas, kör

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

Detta kan också fungera. Har ingen Windows-box att testa på ATM

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



  1. PHP- infoga binär data i mysql med hjälp av förberedda satser

  2. Laravel Query Builder - problem med metoden sum().

  3. Bästa praxis för att designa användarroller och behörighetssystem?

  4. Hur får man mysqli att arbeta med DELIMITER i SQL-satser?