MariaDB 마스터에서 마스터로의 복제 자동 증분이 순차적이지 않음
다음 설정을 사용하여 MariaDB 서버 복제를 마스터할 두 마스터가 있습니다.
server A with 192.168.1.100:
------------------------------
bind-address = 0.0.0.0
server-id = 1
log-bin = "mysql-bin"
binlog-do-db = wordpress
replicate-do-db = wordpress
relay-log="mysql-relay-log"
auto-increment-increment = 2
auto-increment-offset = 1
그리고:
Server B with 192.168.1.200:
---------------------------------
bind-address = 0.0.0.0
server-id = 2
log-bin = "mysql-bin"
binlog-do-db = wordpress
replicate-do-db = wordpress
relay-log="mysql-relay-log"
auto-increment-increment = 2
auto-increment-offset = 2
복제는 잘 작동하지만 자동 증분에 문제가 있습니다.보다시피 그들은 순차적이지 않습니다.예:
서버 A 증분: 1, 3, 5, 7, 9 및...
서버 B 증분: 2, 4, 6, 8 및 ...
서버 A에 레코드 2개, 서버 B에 레코드 1개를 삽입하면 테이블의 총 기본 키는 다음과 같습니다.ID : 1, 3, 4
보시다시피 A 서버에 두 개의 레코드를 삽입했기 때문에 2번이 누락되었습니다.하지만 우리가 송장 번호로 사용하기 때문에 순차 번호를 생성하려면 자동 증분이 필요합니다.
이것이 중복 키를 방지하기 위한 MariaDB 및 MySQL 데이터베이스의 내부 메커니즘이라는 것을 알고 있습니다.하지만 순차적 인덱스 복제를 위한 대체 HA 솔루션이 있는지 알고 싶습니다.
감사해요.
활성 마스터-마스터 복제의 경우 시퀀스를 수행할 수 없습니다.제가 설명할 수 있다면,
- 서버 1(홀수 인덱스)에 2개의 행을 삽입하고 인덱스 1과 3을 생성했다고 가정합니다.
- 동일한 내용이 서버 2에 복제되었습니다.
- 서버 2에 트리거된 한 번의 삽입 후 서버는 다음 짝수 값인 4를 찾습니다.
대량의 쓰기가 없는 경우 마스터 슬레이브 설정을 마스터 마스터-마스터 대신 사용할 수 있습니다.HA 솔루션의 경우 자동 페일오버를 제공하는 데 도움이 되는 Orchestrator를 사용하고 쿼리의 경우 프록시 SQL을 사용할 수 있습니다.따라서 완전한 HA 및 자동 페일오버를 위해 아래와 같이 설정됩니다.
2 MySQL 노드
프록시ql 1개
오케스트레이터 1명
언급URL : https://stackoverflow.com/questions/63936523/mariadb-master-to-master-replication-auto-increment-is-not-sequential
'programing' 카테고리의 다른 글
코드를 사용하여 버튼 클릭을 시뮬레이션하는 방법은 무엇입니까? (0) | 2023.09.05 |
---|---|
Angular2 http 서비스를 사용하여 결과 캐싱 (0) | 2023.09.05 |
데이터베이스의 결과 페이지화는 어떻게 작동합니까? (0) | 2023.09.05 |
두 CG 지점 사이의 거리를 찾는 방법은 무엇입니까? (0) | 2023.09.05 |
깃 별칭을 삭제하려면 어떻게 해야 합니까? (0) | 2023.09.05 |