我有两个数据库,比如backenddb和livedb (大约10 gb大小,有超过50个表)。我使用backenddb更新livedb,以便使用mysqldump使用新数据更新它,然后扩展it.This进程首先删除所有表行和表,然后在扩展期间将backenddb sql-dump重新插入到livedb中。
那么,有没有其他方法可以在不删除整个livedb数据的情况下,只将更新后的数据行从backenddb插入到livedb?
发布于 2012-06-19 10:15:36
通过更多的研究,我最终确定了这个方法:使用以下命令创建一个backenddb转储:
mysqldump --no--create-db --no-create-info -uroot -hxx.xx.xx.xxx Db_dump > dump_name
这将创建一个包含行数据(不包括表删除命令)的转储。然后在转储文件中,将INSERT INTO替换为INSERT IGNORE Into
替换'INSERT INTO‘'INSERT IGNORE INTO’-- dump_name
然后,正常地将转储扩展到livedb,这将只插入更新的数据,而忽略已存在的数据。
注意:-在sql dump by replace命令中,INSERT INTO出现的任何文本都将替换为INSERT IGNORE Into。
发布于 2012-06-14 14:55:32
根据我对你的问题的理解,我可以回答你可以对后端数据库进行differential备份,并将其放入你的livedb中。
https://stackoverflow.com/questions/11027840
复制相似问题