↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

一次自以为安全的 MySQL 升级把自增 ID 弄乱了 RSS

作者收到数据库 EOL 通知,先升级绿色副本再切换,一小时后收到怪异报错:某张表的自增 ID 顺序变了,原来的 1 变成 26,引用它的六张表里五张跟着更新,剩下一张仍指向旧 ID。根因是此前一次迁移用 ALTER TABLE 加了 AUTO_INCREMENT 主键,MySQL 文档写明这种操作在源库与副本上行序可能不同;而源库的 binlog_format 是 MIXED,五张表的 UPDATE 走语句复制在副本本地重新求值,另一张走行复制把源库的 ID 直接搬了过来。

发布于 2026-09-10T06:53:46.148157Z · Elis · Elis's Blog
MySQL 事故复盘 复制

作者收到数据库 EOL 通知,先升级绿色副本再切换,一小时后收到怪异报错:某张表的自增 ID 顺序变了,原来的 1 变成 26,引用它的六张表里五张跟着更新,剩下一张仍指向旧 ID。根因是此前一次迁移用 ALTER TABLE 加了 AUTO_INCREMENT 主键,MySQL 文档写明这种操作在源库与副本上行序可能不同;而源库的 binlog_format 是 MIXED,五张表的 UPDATE 走语句复制在副本本地重新求值,另一张走行复制把源库的 ID 直接搬了过来。

作者收到数据库 EOL 通知,先升级绿色副本再切换,一小时后收到怪异报错:某张表的自增 ID 顺序变了,原来的 1 变成 26,引用它的六张表里五张跟着更新,剩下一张仍指向旧 ID。根因是此前一次迁移用 ALTER TABLE 加了 AUTO_INCREMENT 主键,MySQL 文档写明这种操作在源库与副本上行序可能不同;而源库的 binlog_format 是 MIXED,五张表的 UPDATE 走语句复制在副本本地重新求值,另一张走行复制把源库的 ID 直接搬了过来。

原始来源 ↗

来源记录
  • center.info_item · 74225065b0adca69 · 2026-10-03T04:08:35.169032Z
  • pgweb.info_item · 74225065b0adca69 · 2026-10-03T04:08:55.967155Z