본문 바로가기
컴퓨터

👨‍💻 [MySQL] MySQL에서 primary key의 auto_increment 값이 2씩 증가하는 원인은 무엇인가요?

by 밝음의기둥 2025. 6. 14.
반응형

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."


👨‍💻 안녕하세요, 윌리 프로젝트의 윌리 입니다.

MySQL에서 primary key의 auto_increment 값이 2씩 증가하는 원인은 무엇인지 간략히 알아보았습니다.


질문 >

MySQL에서 primary key의 auto_increment 값이 2씩 증가하는 원인은 무엇인가요?

답변 >

MySQL에서 AUTO_INCREMENT 값이 2씩 증가하는 현상은 일반적으로 다음과 같은 원인 중 하나 또는 복합적인 설정 때문입니다:


🔹 1. auto_increment_increment 설정값

MySQL은 다중 서버 환경(특히 Master-Master Replication)을 고려해 auto_increment_increment 및 auto_increment_offset이라는 시스템 변수를 사용합니다.

  • auto_increment_increment: 증가 간격
  • auto_increment_offset: 시작 지점

예를 들어 다음과 같이 설정되어 있다면:

SHOW VARIABLES LIKE 'auto_increment_%';

출력 예시:

+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| auto_increment_increment | 2     |
| auto_increment_offset    | 1     |
+--------------------------+-------+

→ 이 경우 AUTO_INCREMENT 값은 1, 3, 5, 7...처럼 2씩 증가합니다.

🛠️ 해결 방법:

SET GLOBAL auto_increment_increment = 1;
SET GLOBAL auto_increment_offset = 1;

⚠️ 하지만 이는 글로벌 설정이며, MySQL을 재시작하면 my.cnf 설정이 다시 적용됩니다. 따라서 my.cnf 또는 my.ini 설정 파일에 다음을 추가하는 것이 확실합니다:

[mysqld]
auto_increment_increment = 1
auto_increment_offset = 1


🔹 2. Replication 환경 (Master-Master)

MySQL 복제 구성을 한 경우, 특히 Master-Master 구조에서는 두 서버가 충돌 없이 고유한 AUTO_INCREMENT 값을 생성할 수 있도록 auto_increment_increment와 auto_increment_offset을 서로 다르게 설정합니다.

예:

  • 서버 A: increment = 2, offset = 1 → 1,3,5,7,...
  • 서버 B: increment = 2, offset = 2 → 2,4,6,8,...

이런 구조에서는 2씩 증가가 의도된 동작입니다.


🔹 3. 실제 INSERT 중 누락된 값

드물게 트랜잭션 롤백, 실패 등으로 AUTO_INCREMENT 값이 중간에 skip될 수 있습니다. 그러나 이 경우는 간헐적이며 항상 2씩 증가하지는 않습니다.


✅ 요약

원인  설명  조치
auto_increment_increment 증가 간격이 2로 설정됨 설정을 1로 변경
Master-Master 복제 구성 충돌 방지를 위해 서로 다른 offset 사용 복제 구조에 맞게 설정 확인
INSERT 실패 or ROLLBACK 중간 값이 스킵됨 간헐적, 주기적 현상은 아님


🎬 유튜브 채널 🎬

 

위로그@WiLog

📢 안녕하세요, 위로그@WiLog 시청자 여러분, 저는 윌리(Willee) 입니다. 📢 위로그@WiLog 는 자기계발을 목적으로 하는 채널 입니다. 📢 오늘도 즐겁게~ 자신을 위한 계발을 함께 해보아요~ d^_^b 📌

www.youtube.com

🎬 치지직 채널 🎬

 

위로그 채널 - CHZZK

지금, 스트리밍이 시작됩니다. 치지직-

chzzk.naver.com


반응형