마스터 - 마스터 복제에서 데비안 스트레치 기반 MariaDB-Server를 두 개 설정했습니다.MariaDB 10.2.10 중복 키 오류시 슬레이브가 중지됨
슬레이브의 복제 설정 섹션은 다음과 같습니다
server-id = 2226
auto_increment_increment = 1
auto_increment_offset = 1
log_bin = /var/tmp/mysql_binlog/mysql-bin.log
log_bin_index = /var/tmp/mysql_binlog/mysql-bin.log.index
expire_logs_days = 3
max_binlog_size = 100M
relay_log = /var/tmp/mysql_binlog/slave-relay.log
relay_log_index = /var/tmp/mysql_binlog/slave-relay.log.index
log_slave_updates = 1
replicate_annotate_row_events = 0
log_bin_trust_function_creators = 1
나는 다음과 같은 오류가 발생하고있다 :
show slave status\G;
Relay_Log_File: slave-relay.032025
Relay_Log_Pos: 14887746
Relay_Master_Log_File: mysql-bin.001119
Slave_IO_Running: Yes
Last_Errno: 1062
Last_Error: Error 'Duplicate entry '71899-single' for key 'PRIMARY'' on query. Default database: 'mydb'. Query: 'INSERT INTO document_reference
(document_reference_document_id, document_reference_type, document_reference_value)
VALUES (71899, "single", 0)'
하지만 : 나는 릴레이 로그 파일을 검토 한
MariaDB [(none)]> select * from mydb.document_reference WHERE document_reference_document_id=71899;
Empty set (0.00 sec)
을 - insert 문은 하나뿐입니다.
누구나 슬레이브에서 중복 입력 오류를 일으키는 지 알 수 있습니까?
추가 정보 :
마스터 설정 :
auto_increment_increment | 1
auto_increment_offset | 1
binlog_format | MIXED
표 정의 :
auto_increment_increment = 2 -- on both
auto_increment_offset = 1 on one Master, = 2 on the other
또한 설정
CREATE TABLE "document_reference" (
"document_reference_document_id" int(10) unsigned NOT NULL,
"document_reference_type" enum('single,'multi') COLLATE utf8_unicode_ci
NOT NULL DEFAULT 'single',
"document_reference_value" int(11) NOT NULL,
PRIMARY KEY ("document_reference_document_id","document_reference_type"))
PK가 71899 인 슬레이브에 이미 행이 있습니다. '단일 '? _Masters_에있는'auto_increment_increment'의 값은 무엇입니까? RBR인가 SBR인가? 우리에게 'SHOW CREATE TABLE document_reference'을 보여주세요. –
안녕하세요 @ RickJames! 방금 정보를 추가했습니다. – Pumuckl77