mysql-5.6.20主從同步錯誤之Error_code: 1062 Duplicate entry '1' for key 'PRIMARY', Error_code: 1062


1.接到mysql主從不同步的報警,看日志

        Relay_Master_Log_File: mysql-bin.000119
             Slave_IO_Running: Yes
            Slave_SQL_Running: No
              Replicate_Do_DB: 
          Replicate_Ignore_DB: 
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: 
  Replicate_Wild_Ignore_Table: 
                   Last_Errno: 1062
                   Last_Error: Could not execute Write_rows event on table bbh_159.log_process; Duplicate entry '1' for key 'PRIMARY', Error_code: 1062; handler error HA_ERR_FOUND_DUPP_KEY; the event's master log mysql-bin.000119, end_log_pos 764433484

2.查看錯誤碼Last_Errno: 1062信息

出現的可能原因:
1.程序可能在slave上進行了寫操作
2.也可能是slave機器重起后,事務回滾造成的.

3.定位原因:

1.程序可能在slave上進行了寫操作
程序在修改代碼邏輯時,誤將數據寫入從庫了

4.解決問題

1.登陸從庫:mysql -h127.0.0.1 -uroot -P3307 -pxxxx
2.查看從庫同步情況:mysql> show slave status\G;
3.關閉從庫
4.修改my.cnf
    加入 slave-skip-errors = 1062  【slave-skip-errors為只讀參數,不支持在線更改
5.啟動從庫 6.驗證同步情況

6.問題總結

1.從庫只能做讀操作,不能寫操作。
2.使用從庫時,應創建只讀普通用戶,避免執行寫操作。
3.開啟只讀模式,配置文件加入read-only = 1 ,但還需創建只讀普通用戶,因為只讀模式對超級用戶沒有限制。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM