将两个具有相同表的 *.db 文件合并为一个 *.db 文件

将两个具有相同表的 *.db 文件合并为一个 *.db 文件

我想将两个 mysql 数据库文件 (*.db) 合并为一个数据库。两个数据库都有相同的表。有没有简单的方法可以做到这一点?

答案1

假设两个数据库是db1和db2,我们可以执行以下操作:

1)备份 db1 和 db2 以供回滚选项:

mysqldump -u<root> -p<pass> --databases db1 db2 > db1_db2.sql

2)备份db1(仅数据):

mysqldump -u<root> -p<pass> --no-create-info db1 > db1.sql

3)将 db1 的转储加载到 db2:

cat db1.sql | mysql db2 

因此,如果两个数据库都有相同的表,它将把数据插入表中。如果表不存在,则会产生错误。您可以跳过这些错误并让它继续,如下所示:

cat db1.sql | mysql -u<user> -p<pass> db2 --force

相关内容