MySql 二进制日志记录 - 自动递增问题

MySql Binary Logging - Auto Increment Issue

我的情况有点奇怪。我们目前有两个数据库,我们的 STAGE DB 和我们的 LIVE DB。两个数据库具有相同的架构,但数据略有不同。

所以一切工作的方式是,处理一个大数据集并将结果更新到 STAGE DB。这个数据库在一个封闭的网络上,没有外部访问(安全问题,不要问)。已为此数据库打开二进制日志记录,因此为了使这些更改在 LIVE DB 上可用,将获取更改的转储文件,然后在 LIVE DB 上手动 运行。

这一切都工作正常,直到在 LIVE DB 上更改为具有 AUTO_INCREMENT 键列的 table。因此,当我们去应用更改时,列 id 值已经存在。

我的问题是,有解决办法吗?是否有一些选项允许仅插入而不需要相同的键?

It appears it's a statement based replication. You make one database use odd numbers and the other one uses even numbers for auto_increment. - NB

谢谢注意,

这很有用。这就是我为实施修复所做的工作。

将以下内容添加到您的 my.cnf/my.ini 文件中。

阶段数据库

auto_increment_increment = 2

auto_increment_offset = 1

实时数据库

auto_increment_increment = 2

auto_increment_offset = 2