问题在于标准的Mysql Master-Slave设置(从属是只读的,二进制日志记录设置为ROW),当使用自动增量主键在主表中插入一行时,例如,该行获取,当在从服务器上复制相同的插入内容时,同一行将获得不同的ID 4288996 ID(因为发出的插入没有主键值,它是自动生成的)。现在,在Master的这一行发出4289032语句时,问题就出现了:#180430 18:00:12 server id 1 end_log_pos 429933 CRC32 0xd0d85778Update_rows: table id 260 flags: STMT_END_F### UPDATE `cmon`.`simple_alarm`### WHERE### @1=4288996### SET### @13=1525104012### @15=1# at 429933#180430 18:00:12 server id 1 end_log_pos 429964 CRC32 0xdc9f3fa4 Xid = 452035由于从站上不存在同一行(具有不同的ID): '无法在表cmon.simple_alarm上执行Update_rows事件;在'simple_alarm'中找不到记录,错误代码:1032;处理程序错误HA_ERR_KEY_NOT_FOUND;事件的主日志xxxxx_bin_log.000003,end_log_pos 429933'我知道为什么这是一个问题,但我不知道如何解决? 最佳答案 已知问题MySQL 8.0 Reference Manual / ... / Replication and AUTO_INCREMENT17.4.1.1 引起触发器或函数更新的语句 使用以下命令无法正确复制AUTO_INCREMENT列 基于语句的复制。这些语句被标记为不安全。 错误45677)尝试基于行的日志记录或混合类型。也许会解决。关于mysql - 带有主键AUTO_INCREMENT的Mysql主从复制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50130322/