메뉴 건너뛰기

조회 수 1932 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

MySQL 서버를 마스터/마스터로 DB replication 할 경우, MySQL 테이블에 AUTO_INCREMENT key 를 포함되어 있으면 마스터#1 및 마스터#2 DB 에 모두 INSERT 할 경우 중복키로 충돌이 발생하여서 replication 을 위한 Slave SQL 쓰레드가 중단될 수 있습니다. replication 에서 AUTO_INCREMENT 로 인한 중복키 충돌을 예방하는 방법은 다음과 같습니다.

1. 마스터​ #1 에서 아래와 같이 실행한다.

  - 아래와 같이 실행하면 1, 3, 5 ... 와 같이 홀수로 key 가 생성된다.​


​  mysql> set global auto_increment_increment=2;

  mysql> show variables like 'auto_increment%';
+---------------------------------+-------+
| Variable_name                  | Value |
+---------------------------------+-------+
| auto_increment_increment  | 2     |
| auto_increment_offset        | 1     |
+---------------------------------+-------+


2. 마스터​ #2 에서 아래와 같이 실행한다.

  - 아래와 같이 실행하면 2, 4, 6 ... 와 같이 짝수로 key 가 생성된다.​


​  mysql> set global auto_increment_increment=2;

  mysql> set global auto_increment_offset=2;

  mysql> show variables like 'auto_increment%';
+---------------------------------+-------+
| Variable_name                  | Value |
+---------------------------------+-------+
| auto_increment_increment  | 2     |
| auto_increment_offset        | 2     |
+---------------------------------+-------+

3. 주의사항

  - 위와 같이 설정하면 홀수, 짝수 값이 순차적으로 증가하지 못하고 중간에 누락된 것처럼 보여질 수 있다.

  - 만약 AUTO_INCREMENT 값이 1부터 순차적으로 증가하되 누락된 수가 없어야 한다면 위와 같이 설정하면 안 된다.

  - INSERT 쿼리가 마스터#1 및 마스터#2 에서 임의의 순서대로 자주 실행된다면 AUTO_INCREMENT 잠금으로 인해 대기 현상이 발생할 수 있다.


  1. No Image 05Mar
    by
    2019/03/05 Views 2086 

    [MySQL] 세로열을 가로열로 출력하기

  2. No Image 05Mar
    by
    2019/03/05 Views 1219 

    mariaDB 백업 쉘 스크립트

  3. No Image 19Feb
    by
    2019/02/19 Views 2424 

    한글정렬 order by

  4. No Image 11Jan
    by
    2019/01/11 Views 3161 

    중복데이터 하나만 빼고 삭제

  5. No Image 11Jan
    by
    2019/01/11 Views 1948 

    MySQL 중복 데이터 찾아서 삭제하기

  6. No Image 08Jan
    by
    2019/01/08 Views 4389 

    MySQL ORDER BY 조건별 필드 및 ASC DESC

  7. Mysql Join 해부(Left, Right, Outer, Inner Join

  8. No Image 24Jul
    by
    2018/07/24 Views 4367 

    MySQL Table 복구 - Got error 127 from storage engine

  9. No Image 24Jul
    by
    2018/07/24 Views 3863 

    MySQL〃오라클의 nextval을 MySQL에서 사용하기

  10. No Image 18Jul
    by
    2018/07/18 Views 1603 

    MySQL replication SQL 문 실행 오류 해결 방법

  11. No Image 18Jul
    by 조쉬
    2018/07/18 Views 1932 

    MySQL 마스터/마스터 replication 에서 AUTO_INCREMENT 문제 해결 방법

  12. No Image 18Jul
    by
    2018/07/18 Views 2790 

    특정 테이블만 replication 하거나 제외하는 방법

  13. No Image 18Jul
    by
    2018/07/18 Views 1672 

    mysql-bin 로그를 SQL 문으로 변환한는 방법

  14. No Image 18Jul
    by
    2018/07/18 Views 2750 

    MySQL 클라이언트/서버 프로토콜

  15. No Image 18Jul
    by
    2018/07/18 Views 1554 

    MyISAM 스토리지 엔진에서 테이블의 최대 저장 row 개수

  16. No Image 18Jul
    by
    2018/07/18 Views 1674 

    InnoDB 스토리지 엔진에서 테이블의 최대 저장 row 개수

  17. MySQL DB 에 한글 utf8 문자열 INSERT 오류 해결 방법

  18. MySQL 에서 테이블에 이미 존재하는 값으로 UPDATE 하는 경우

  19. No Image 28Dec
    by
    2017/12/28 Views 4262 

    데이터베이스 파티셔닝이란

  20. No Image 28Dec
    by
    2017/12/28 Views 3916 

    MySQL 연결 속도

Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved