Mysql
 sql >> Database >  >> RDS >> Mysql

Posso unire due database in uno in Mysql se entrambi hanno lo stesso schema?

Esegui mysqldump su ogni database con il --no-create-info opzione per evitare di scrivere informazioni sullo schema. Quindi esegui una volta su un database con --no-data opzione. Se carichi tutti questi file in sequenza nello stesso database di destinazione, questo dovrebbe funzionare, salvo eventuali differenze nello schema tra i due database o chiavi primarie duplicate.

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

Dopo aver creato un nuovo database, esegui

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

Questo potrebbe anche funzionare. Non hai un box Windows per testare su ATM

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