首页/数据/数据库速查/SQL 线程报 1062(主键/唯一键冲突)
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条备份与恢复56 条
主从复制与高可用53 条
性能与调优57 条Redis 命令96 条Redis 运维与场景124 条

SQL 线程报 1062(主键/唯一键冲突)

重放时插入撞唯一键:多因从库被写入、双向复制冲突或人工拼接数据;处理先定位冲突行判断保留哪份,再决定跳过或用重复键策略重放。

数据库速查数据更新于 2026-10-12

定位与处理

定位与处理
SHOW REPLICA STATUS\G   -- Last_SQL_Error 给出冲突键与语句
-- 1) 查询冲突数据(示例)
SELECT * FROM appdb.users WHERE id = 12345;
-- 2) 决定处理:改从库数据或跳事务
STOP REPLICA SQL_THREAD;
-- GTID 环境跳过(见「跳过事务」条)
SET GTID_NEXT = '3a7f1e3b-...:4711';
BEGIN; COMMIT;
SET GTID_NEXT = 'AUTOMATIC';
START REPLICA SQL_THREAD;
根因候选从库被直接写入 / 主从数据漂移 / 跳事务后遗症
原则先保数据正确,再恢复复制;跳过是最后手段
1062 反复出现说明拓扑里有第二个写入点,先找到它,别一直跳。

易错点

  • 无脑跳过:冲突行永久不同步,后续校验才发现数据洞
  • 从库配置 read_only 被改回:写入漂移的常见开端

数据来源与参考

  • MySQL 8.0 Reference Manual: Error 1062
  • MySQL 8.0 Reference Manual: GTID_NEXT

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌