我的主办公室有一个mysql数据库,有4个异地服务器,用于事件和收集客户数据。当我将服务器带回家庭办公室时,我需要将所有数据从场外数据库发送到主数据库,而不会覆盖现有数据,这样我就可以清除远程数据库并将其重新发送到下一个事件。 / p>
我查看了mysqldump,它总是丢弃所有以前的数据,这将非常糟糕。
如果有人能帮我指出正确的方向,我们将不胜感激。
注意: 场外服务器在事件中没有互联网连接,并且场外服务器在办公室时没有连接到LAN。
最终我试图找出如何做到这一点,所以我可以把它扔进脚本。
答案 0 :(得分:0)
我会用一个小程序(用Java编写)来做这种操作,它从临时数据库读取数据并将其插入主数据库,因为它可以让我完全控制复制的内容和不复制的内容
如果您想使用mysqldump,那么我认为以下内容应该有效:
从临时数据库到主数据库运行 INSERT INTO ... SELECT :
INSERT INTO primary_db.customer(name,address)SELECT name,address FROM temporary_db.customer
答案 1 :(得分:0)
您可以配置与drop相关的mysqldump行为或在命令行中替换/插入。
尝试
mysqldump --help
您也可以使用INSERT SELECT
您还可以使用SELECT CONCAT(创建CSV)和LOAD DATA来导入CSV语句。