mysql을 다시 시작한 후 auto_increment_increment가 재설정됩니까?

mysql을 다시 시작한 후 auto_increment_increment가 재설정됩니까?

auto_increment_increment다음 명령을 사용하여 MySQL 변수를 설정하고 있습니다 .

mysql -u root -p -e "SET GLOBAL auto_increment_increment = 10;"

그리고 MySQL을 다시 시작할 때까지 모든 것이 작동합니다( 를 사용하여 sudo service mysql restart). 그런 다음 변수는 기본값으로 돌아갑니다.

다시 시작하기 전에:

mysql> SHOW VARIABLES LIKE 'auto_%';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| auto_increment_increment | 10    |
| auto_increment_offset    | 1     |
+--------------------------+-------+
2 rows in set (0.00 sec)

다시 시작한 후:

mysql> SHOW VARIABLES LIKE 'auto_%';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| auto_increment_increment | 1     |
| auto_increment_offset    | 1     |
+--------------------------+-------+
2 rows in set (0.00 sec)

이 변경 사항을 영구적으로 적용하려면 어떻게 해야 합니까?

답변1

귀하의 명령은 동작을 일시적으로만 변경합니다. 따라서 /etc/mysql/conf.d/. 의 변경을 피하십시오 /etc/mysql/my.cnf. 왜? 내 대답의 끝 부분을 참조하십시오.

sudo nano /etc/mysql/conf.d/my.cnf

그리고 추가하세요

[mysqld]
auto-increment-increment = 10

구성을 다시 로드하거나 서버를 다시 시작하십시오.


표준에서 따옴my.cnf

#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/

답변2

ssta가 지적한 대로 구성 파일을 사용할 수 있습니다. 아마도 가장 좋은 장소는 my.cnf시작 시 사용되는 파일일 것입니다. 다음과 같이 변경합니다.

...
[mysqld]
auto_increment_increment = 10
...

파일을 저장하고 서버를 다시 시작하십시오.

sudo service mysql restart

그러면 작동할 것입니다(직접 테스트하지는 않았습니다). 흥미롭게도 왜 그런 행동을 원합니까?

관련 정보