상황에 따라 웹 응용 프로그램에 기계에 로그인하려는 데이터가 삽입되는 둘 이상의 "삽입"머신이 있습니다. 로드 밸런서 뒤에서 모두). 몇 시간마다 하나씩 컴퓨터가로드 밸런서와의 연결이 끊어지고 "마스터"데이터베이스 시스템에 정보를 업로드하면 수집하는 모든 데이터의 상대적으로 최신 버전이 있어야합니다.MySQL 서버간에 데이터를 이동할 때 자동 증분 ID 충돌 방지
원래는 mysqldump를 사용하려고했지만, 기본 키의 충돌로 이어질 auto_increment id 열을 가져 오지 않도록 명령을 지정할 수 없다는 것을 알았습니다. 임시 테이블을 사용하여 데이터를 넣은 다음 열을 삭제하도록 권장하는 다른 게시물을 보았습니다. 그러나 "삽입"머신의 사양은 매우 낮았으며 데이터 양은 5 만 행 정도로 매우 중요했습니다. 프로그래밍 방식으로 x 행을 한 번에 가져 와서 원격 "마스터"데이터베이스에 삽입하는 것 외에는 더 쉬운 방법이 있습니까? 현재 나는 PHP를 "삽입"머신에 설치했습니다.
입력 해 주셔서 감사합니다.
슬레이브 데이터베이스와 같은 각 레코드에 대해 마스터 데이터베이스 레코드가 동일한 기본 키를 가지기를 원하지 않습니까? 그렇지 않으면 쿼리가 어떤 머신을 기반으로 다른 결과를 생성하는지 문제가 발생할 수 있습니다. 보다 나은 솔루션은 고유성을 보장 할 수있는 기본 키를 사용하는 것이므로 충돌이 발생하지 않습니다. 예를 들어, unix 시간 (마이크로 초)을 각 서버마다 다른 식별자로 연결할 수 있습니다. – octern
열쇠는 의미가 없으며 기본적으로 카운터입니다. 고유 한 것 외에는 사용에 대한 정보가 없으며 일반적으로 레코드가 "마스터"데이터베이스에 삽입 된시기와 관련됩니다. – thatidiotguy
아, 그리고 내가 슬레이브 머신에서 내보내는 테이블에서 읽은 적이 없습니다. 요점은 삽입물 만 다루면된다는 것입니다. – thatidiotguy