Mysql 주종 또는 주보 1062 오류 해결
문 건너뛰기 동작은 다음과 같습니다. 1062 오류 프롬프트는 다음과 같습니다.
Last_Errno: 1062
Last_Error: Could not execute Write_rows event on table test.test; Duplicate entry '2' for key 'PRIMARY', Error_code: 1062; handler error HA_ERR_FOUND_DUPP_KEY; the event's master log mysql2-bin.000001, end_log_pos 2799
Skip_Counter: 0
- 기존 모델
mysql> stop slave;
# , ,( N event, )
mysql> set global sql_slave_skip_counter =1;
mysql> start slave;
mysql> show slave status/G :
mysql> show slave status/G;/
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.1.21
Master_User: rep1
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql2-bin.000001
Read_Master_Log_Pos: 3087
Relay_Log_File: cndba-relay-bin.000006
Relay_Log_Pos: 587
Relay_Master_Log_File: mysql2-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: test
# 1062
my.cnf , Replication settings :
slave-skip-errors = 1062
, start salve。
: , , 。
1062 장면 시뮬레이션:
홈 라이브러리 1 작성 테이블
mysql> create table test(id int PRIMARY KEY ,name varchar(32));
Query OK, 0 rows affected (0.06 sec)
sql_log_bin 1 2
mysql> set sql_log_bin=0;
Query OK, 0 rows affected (0.00 sec)
mysql> insert into test values (1,'aa');
Query OK, 1 row affected (0.02 sec)
mysql> insert into test values (2,'bb');
Query OK, 1 row affected (0.01 sec)
mysql> insert into test values (3,'dd');
Query OK, 1 row affected (0.00 sec)
sql_log_bin 1 2
mysql> set sql_log_bin=1;
Query OK, 0 rows affected (0.00 sec)
mysql> insert into test values (4,'cc');
Query OK, 1 row affected (0.08 sec)
mysql> select * from test;
+----+------+
| id | name |
+----+------+
| 1 | aa |
| 2 | bb |
| 3 | dd |
| 4 | cc |
+----+------+
4 rows in set (0.00 sec)
홈 라이브러리 2 데이터 동기화 보기 홈 라이브러리 2 데이터 동기화 보기
2
mysql> select * from test;
+----+------+
| id | name |
+----+------+
| 4 | cc |
+----+------+
1 row in set (0.00 sec)
홈 라이브러리 2에 표 테스트 삽입
mysql> insert into test values (2,'bb');
Query OK, 1 row affected (0.01 sec)
홈 라이브러리 1에서 주종 상태 보기
1062 , 1 id=2 , 。
mysql> show slave status/G;
......
Last_Errno: 1062
Last_Error: Could not execute Write_rows event on table test.test; Duplicate entry '2' for key 'PRIMARY', Error_code: 1062; handler error HA_ERR_FOUND_DUPP_KEY; the event's master log mysql2-bin.000001, end_log_pos 2799
Skip_Counter: 0
Exec_Master_Log_Pos: 2564
Relay_Log_Space: 1541
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: 1062
Last_SQL_Error: Could not execute Write_rows event on table test.test; Duplicate entry '2' for key 'PRIMARY', Error_code: 1062; handler error HA_ERR_FOUND_DUPP_KEY; the event's master log mysql2-bin.000001, end_log_pos 2799
......
근본적인 해결 방법:
Last_Error master log end_log_pos 2
2 :
[root@cndba data]# mysqlbinlog --no-defaults -v --base64-output=decode-rows --stop-position=2799 /data/mysql/binlog/mysql2-bin.000001 | tail -20
#180819 10:59:56 server id 21 end_log_pos 2706 CRC32 0x5a43437b Query thread_id=6 exec_time=0 error_code=0
SET TIMESTAMP=1534647596/*!*/;
SET @@session.sql_mode=1436549152/*!*/;
SET @@session.auto_increment_increment=2, @@session.auto_increment_offset=2/*!*/;
BEGIN
/*!*/;
# at 2706
#180819 10:59:56 server id 21 end_log_pos 2756 CRC32 0x0d6a3132 Table_map: `test`.`test` mapped to number 229
# at 2756
#180819 10:59:56 server id 21 end_log_pos 2799 CRC32 0xc6a8a0b0 Write_rows: table id 229 flags: STMT_END_F
### INSERT INTO `test`.`test`
### SET
### @1=2
### @2='bb'
ROLLBACK /* added by mysqlbinlog */ /*!*/;
SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* added by mysqlbinlog */ /*!*/;
DELIMITER ;
# End of log file
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
, delete
1 :
mysql> delete from test where id=2;
Query OK, 1 row affected (0.02 sec)
mysql> start slave;
Query OK, 0 rows affected, 1 warning (0.00 sec)
2 :
mysql> show slave status/G;
......
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
......
삽입된 데이터와 라이브러리의 데이터가 같은지 확인하십시오. 만약 같으면 메인 라이브러리 1의 데이터를 삭제해서 해결할 수 있습니다. 그렇지 않으면 이 사건을 뛰어넘어 해결할 수 있습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 my sql 에 이모 티 콘 저장my sql 에 emoji 표정 을 저장 하려 면 utf8mb 4 문자 집합 을 사용 해 야 합 니 다. 이것 은 4 바이트 저장 입 니 다. 최소 지원 버 전 은 5.5.3 + 입 니 다. 그렇지 않 으 면 새로운...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.