主库 : 114.116.182.128
从库: 114.116.182.62
造成该错误原因:
之前手动在从库更改了数据,再在主库更改该条数据时,主从数据版本不一致。
解决:
- 进入主库的mysql界面
mysql -utkuser -pTk123qwe!
- 关闭主库的写操作
flush tables with read lock;
- 查看并记下主库的日志及position
show master status;
mysql> show master status \G *************************** 1. row
File: mysql-bin.000023 Position: 523859 Binlog_Do_DB: hm_advertise,hm_common,hm_num,hm_order,hm_user Binlog_Ignore_DB: Executed_Gtid_Set: 1 row in set (0.00 sec)
- 进入从库的mysql界面
mysql -umysql62 -pmysql62
- 关闭同步
mysql> stop slave \G
- 执行手动同步
change master to master_host = '114.116.182.128',master_user='tkuser',master_password='Tk123qwe!',master_port=3306,master_log_file='mysql-bin.000023',master_log_pos=523859;\g
- 启动同步
mysql> start slave \G
- 查看同步状态(position及IO)
mysql> show slave status \G
mysql> show slave status \G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 114.116.182.128
Master_User: tkuser
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000023
Read_Master_Log_Pos: 523859
Relay_Log_File: ecs-8c16g-relay-bin.000002
Relay_Log_Pos: 73227
Relay_Master_Log_File: mysql-bin.000023
Slave_IO_Running: Yes
Slave_SQL_Running: No
Replicate_Do_DB: hm_advertise,hm_common,hm_num,hm_order,hm_user
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table:
Last_Errno: 1032
Last_Error: Could not execute Delete_rows event on table hm_user.us_wechat; Can’t find record in ‘us_wechat’, Error_code:
1032; handler error HA_ERR_KEY_NOT_FOUND; the event’s master log
mysql-bin.000023, end_log_pos 522927
Skip_Counter: 0
Exec_Master_Log_Pos: 522648
Relay_Log_Space: 74649
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: NULL Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 1032
Last_SQL_Error: Could not execute Delete_rows event on table hm_user.us_wechat; Can’t find record in ‘us_wechat’, Error_code:
1032; handler error HA_ERR_KEY_NOT_FOUND; the event’s master log
mysql-bin.000023, end_log_pos 522927 Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
Master_UUID: 6ad16843-245d-11e9-a4a5-fa163efa5c52
Master_Info_File: /usr/local/mysql/data/master.info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State:
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp: 191028 15:20:45
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
Replicate_Rewrite_DB:
Channel_Name:
Master_TLS_Version: 1 row in set (0.00 sec)
- 开启主库的写操作
unlock tables;