我有一个运行mysqldump的脚本,用于从DB1导出几个表。它在DB2上运行生成的SQL脚本。其中一个表包含一个inventory列,在导入脚本后,该列需要在DB2上保持一致。我不认为在转储/导入过程中有任何机会保留这个特定的价值,但我愿意接受这样的建议。
相反,我试图用下面的一般过程来处理这个问题。
我希望通过bash完成这些任务中的每一项。
ssh <server where DB1 lives>
mysqldump -u'' -p DB1 t1 t2 t3 > dump.sql
scp dump.sql <server where DB2 lives>
mysql ??? > inventory_backup.sql?
mysql -u'' -p DB2 < dump.sql
??? inventory_backup.sql?我对其他流程建议非常开放,但是模式更改几乎是不可接受的。我对这项任务相当反感。我宁愿将库存分离到它自己的表中,这个表可以排除在转储/导入之外,但这将需要在应用程序层进行相当严肃的重构工作,而这是我们目前负担不起的。
发布于 2013-12-20 13:21:31
我假设将第一个数据库复制到第二个数据库将删除第二个数据库。如果不是这样的话,那么这个过程就会简单一些。
如果你
1)复制包含清单的表格:
create table tcopy select * from table_with_inventory;2) mysqldump拷贝
3)复制另一个数据库
4)还原拷贝
5)将值复制回来
update table_with_inventory
inner join tcopy on table_with_inventory.id=tcopy.id
set table_with_inventory.inventory=tcopy.inventoryhttps://stackoverflow.com/questions/20693340
复制相似问题