
# 全量或增量阶段失败报错，关键词"Duplicate entry \*\*\* for key 'PRIMARY'"
#### 场景描述
全量或增量阶段，DRS迁移或同步任务报错，日志提示信息：service CAPTURER failed, cause by: Duplicate entry '120' for key 'PRIMARY'.
#### 可能原因
- 源库binlog_format格式没有设置ROW。
- 源库binlog_format格式设置ROW后没有立即生效。
 
#### 解决方案
1. 通过MySQL官方客户端或者其它工具登录源数据库。
2. 在源数据库上执行全局参数设置命令。 
   ```
   set global binlog_format = ROW;
   ```
   
   
3. 在源数据库上执行如下命令确认上面操作已执行成功。 
   ```
   select @@global.binlog_format;
   ```
   
   
4. 您可以通过如下两种方式确保修改后的源库binlog_format格式立即生效。 
   **方法一：**
   1. 选择一个非业务的时间段，中断当前数据库上的所有业务连接。
      1. 通过如下命令查询当前数据库上的所有业务连接(所有的binlog Dump连接及当前连接除外)。
         ```
         show processlist;
         ```
         
      
      2. 中断上面查出的所有业务连接。
      
      
      ![](https://support.huaweicloud.com/trouble-drs/public_sys-resources/note_3.0-zh-cn.png)
      在上述操作未结束之前，请不要创建或者启动迁移任务，否则会导致数据不一致。
      
   
   2. 为了避免源库binlog_format格式因为数据库重启失效，请在源库的启动配置文件(my.ini或my.cnf等)中添加或修改配置参数binlog_format并保存。
      ```
      binlog_format=ROW
      ```
      
   
   
   **方法二：**
   1. 为了避免源库binlog_format格式因为数据库重启失效，请在源库的启动配置文件(my.ini或my.cnf等)中添加或修改配置参数binlog_format并保存。
      ```
      binlog_format=ROW
      ```
      
   
   2. 确保上述配置参数binlog_format添加或修改成功后，选择一个非业务时间段，重启源数据库即可。
   
   
   
   
 
