我在我的主要办公室有一个mysql数据库和4个异地服务器,用于活动和收集客户数据。当我将服务器带回总部时,我需要将所有数据从非现场数据库发送到主数据库,而不覆盖现有数据,这样我就可以清除远程数据库并将其重新发送到下一个事件。
我查看了mysqldump,它总是删除所有以前的数据,这将是非常糟糕的。
如果有人能帮我指出正确的方向,我将不胜感激。
注意:异地服务器在活动时没有互联网连接,在办公室时也没有连接到局域网。
最终,我试图弄清楚如何做到这一点,这样我就可以把它放在一个脚本中。
发布于 2012-02-21 14:40:36
我会用一个小程序(可能是用Java编写的)来做这种操作,它从临时数据库中读取数据并将其插入到主数据库中,因为它会让我完全控制要复制的内容和未复制的内容。
如果你想使用mysqldump来做这件事,那么我认为下面的方法应该是可行的:
使用mysqldump
从temporary_db.customer插入(名称,地址)选择名称,地址( primary_db.customer,address)
发布于 2012-02-21 14:53:03
您可以在命令行中配置mysqldump与drop或replace/insert相关的行为。
试一试
mysqldump --help您也可以使用INSERT SELECT
您还可以使用SELECT CONCAT (创建CSV)和LOAD DATA来导入CSV语句。
https://stackoverflow.com/questions/9372837
复制相似问题