
Gostaria de combinar dois arquivos de banco de dados MySQL (*.db) em um único banco de dados. Ambos os bancos de dados possuem as mesmas tabelas. Existe uma maneira fácil de fazer isso?
Responder1
Supondo que dois bancos de dados sejam db1 e db2, podemos fazer o seguinte:
1) Faça backup do DB1 e DB2 para opções de reversão:
mysqldump -u<root> -p<pass> --databases db1 db2 > db1_db2.sql
2) Faça backup do db1 (apenas dados):
mysqldump -u<root> -p<pass> --no-create-info db1 > db1.sql
3) Carregue o dump do DB1 no DB2:
cat db1.sql | mysql db2
Portanto, se ambos os bancos de dados tiverem as mesmas tabelas, os dados serão inseridos nas tabelas. Se a tabela não existir, isso gerará um erro. Você pode pular esses erros e deixá-los continuar como:
cat db1.sql | mysql -u<user> -p<pass> db2 --force