gpt4 book ai didi

mysqldump 合并而不是覆盖

转载 作者:可可西里 更新时间:2023-11-01 07:23:08 26 4
gpt4 key购买 nike

我有一个开发服务器,其中包含一个可以编辑的数据库副本,还有一个实时真实服务器,其中包含处于不同状态的相同数据库。要将数据库从开发服务器移动到实时服务器,我从开发服务器运行:

mysqldump -u root -p --opt db_name tbl_name | mysql -u user_name -p --host=live_IP -C db_name

在 db_name、tbl_name、user_name 和 live_IP 中使用适当的值。然而,这目前将表放在实时服务器上并复制开发版本——有效地覆盖所有内容并丢弃实时表中的任何新数据。我真正想要的是在开发服务器中有新行,冲突行来自开发服务器的副本,但实时服务器副本中的任何新行都保持不变。这是某种合并,我无法在文档中找到任何类似的提及,但它似乎应该是可能的,因为它是一种常见的需求。

最佳答案

您可以通过添加 mysqldump options 来完成此操作在管道之前。对于您的情况,我认为您需要 --insert-ignore、--no-create-db 和 --no-create-info。

关于mysqldump 合并而不是覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13385524/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com