如果找不到mysqldump附加记录

时间:2017-06-16 03:20:23

标签: mysql linux shell

我有两个数据库,一个在localhost(登台DB),另一个在远程服务器(Live DB)上。最初,登台DB与Live DB完全相同。我在暂存数据库上做了一些测试,现在我想将这些更改移动到Live DB。但问题是,在这段时间内,Live DB还有其他一些变化,而且我还没有将其留在staging DB上进行测试。

我想保留Live DB的记录,但也希望从登台DB添加更新或新记录。并且,我不想手动执行此操作,因为此过程将在未来进行很多次。

我想过在没有DROP TABLE命令的情况下获取所有表。我还使用sedCREATE TABLE命令更改为CREATE TABLE IF NOT EXISTS,以确保我不会错过任何来自暂存数据库的表。接下来,我向--insert-ignore添加了mysqldump选项,但这对我的情况没有帮助。并且,我不想使用REPLACE命令,因为它非常具有破坏性。

这是我的mysqldump命令:

`which mysqldump` --defaults-file=./local.cnf --insert-ignore --skip-add-drop-table --compress --create-options --add-locks --skip-opt ${STAGE_DB} > dump.sql

我想要达到什么目标?

将暂存数据库更新为Live DB,而不会丢失Live DB中的任何数据,并且仍然具有暂存数据库中的记录。

我是mysql的新手,所以请帮我解决这个问题。

0 个答案:

没有答案