2017-11-28 1 views
1

나는 두 개의 서버를 가지고 있으며 하나의 데이터베이스에 대해 마스터 - 슬레이브 MySQL 복제를 준비하려고합니다. 두 서버 모두 데이터베이스가 많기 때문에 ID 생성의 보안 성을 변경하고 싶지는 않습니다. 예를 들어, 구성을 준비한 후에는 서버 중 하나에있는 모든 ID의 짝수 번호 만 테이블에 갖고 싶지 않습니다.server-id 속성을 변경하지 않고 mysql 마스터 - 슬레이브 복제

복제 된 데이터베이스 (슬레이브 서버)에 쓰기 권한이 부여되지 않습니다.

해당 시나리오를 구성 할 수 있습니까? 미리 감사드립니다.

+0

내 잘못으로 설명서를 잘 이해하지 못하고 매개 변수'server_id'와'auto_increment_increment'를 섞은 것입니다. 이제는 구성하고 잘 작동합니다. 명심해야 할 것은 [mysqld] 섹션 내의 my.cnf에 매개 변수를 추가하는 것입니다. 나는하지 않았다. 그리고 내가 깨달을 때까지 뛰지 않았다. 다른 사용자에게 아무 것도 기여할 수 없으므로이 질문을 삭제해야하는지 잘 모르겠습니다. – MikeBau

답변

1

업데이트 : server_id은 ID 생성과 관련이 없습니다. 단지 복제 세트의 각 서버에서 0보다 큰 고유 한 정수 여야합니다. 그것이 내가 그 복제 및 자동 증가 ID 생성을 모두 함께 할 수있다 생각할 수있는 유일한 기능이기 때문에


다음은, 당신에 대해 물어 있었는지에 대한 내 생각을했다 내 원래의 대답이다.

간단한 마스터 - 슬레이브 복제를 위해 ID 생성을 변경할 필요가 없습니다.

당신이 auto_increment_increment=2를 사용할 수있는 시나리오는 두 서버가 서로 복제 마스터 - 마스터 복제, 그리고 삽입이 두 서버에서 발생하는 경우는 분열의 위험을 최소화하고자합니다. 그러나 이것은 당신이 묘사하는 시나리오가 아닙니다.

마스터가 하나만 있고 변경 내용을 직접 쓰는 서버이고 해당 마스터에서 복제하는 슬레이브가 모두 읽기 전용이면 auto_increment_increment을 변경할 필요가 없습니다.

+0

고마워,하지만 내가 참조했던 속성은'server-id' ('auto_increment_increment'가 아니라)로 각 서버마다 다른 값을 가져야한다고 생각했다. – MikeBau

+0

위의 편집을 참조하십시오. –

+0

맞습니다. 시나리오를 구현할 것입니다. 다시 질문 할 것이고, 문제가 잘 풀리면 질문을 마칠 것입니다. 당신의 도움을 주셔서 대단히 감사합니다. – MikeBau

관련 문제