"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
👨💻 안녕하세요, 윌리 프로젝트의 윌리 입니다.
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
'컴퓨터' 카테고리의 다른 글
| 👨💻 [YouTrack] Notion 과 YouTrack 을 연동하려면 어떻게 하나요? (8) | 2025.07.18 |
|---|---|
| 👨💻 [GDB] GDB를 이용하여 Core 덤프 파일을 분석하는 방법은 어떻게 되나요? (3) | 2025.06.14 |
| 👨💻 [Node] Node에서 forever 로 실행했을 때 로그를 기록하는 기본 경로는 어떻게 되나요? (0) | 2025.06.14 |
| 👨💻 [SSH] SourceTree 에서 ssh 키 생성하는 방법은 어떻게 되나요? (0) | 2025.06.14 |
| 👨💻 [AWS] AWS 공식 컨설팅 파트너 (MSP) 는 무엇이며, 역할은 무엇인가요? (1) | 2025.05.09 |