엔지니어링

MySQL auto_increment 증가와 최대값

warpmemory 2017. 1. 4. 18:15

auto_increment 가 2씩 증가하는 것을 발견하여 확인 해보니,

auto_increment_increment 설정이 2로 되어있어서 2씩 증가하는 것이였다.

아래 처럼 SET 명령어를 통해서 auto_increment_increment를 1로 변경하면 된다.


1
2
3
4
5
6
7
8
9
10
11
mysql> SHOW VARIABLES LIKE 'auto_inc%';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| auto_increment_increment | 2     |
| auto_increment_offset    | 1     |
+--------------------------+-------+
2 rows in set (0.00 sec)
 
mysql> SET @@auto_increment_increment=10;
Query OK, 0 rows affected (0.00 sec)
cs


주의 해야할 것은 auto_increment_increment 설정을 변경했을때,

시스템에 문제가 발생하지 않는지 반드시 확인 후 변경 작업을 해야한다.


간혹 Multi master replication을 위해서 auto_increment_increment 설정을 하는경우가 있다고 한다.

(참고, http://egloos.zum.com/yellowdog/v/902985)


int(11)일 경우 auto_increment로 들어갈 수 있는 최대 값은 4,294,967,295 로 10년 동안 사용한다고 했을때,
일당 1,176,703개가 발생했을 때 최대값에 도달 한다고합니다.

unsigned BIGINT로 했을 경우에는 18,446,744,073,709,551,615 가 최대값 이라네요.

(참고, http://mjupi.tistory.com/9)