auto_increment_increment сбрасывается после перезапуска mysql?

auto_increment_increment сбрасывается после перезапуска mysql?

Я устанавливаю переменную MySQL auto_increment_incrementс помощью следующей команды.

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

Это должно сработать (сам я не проверял). Любопытно, почему вы хотите такого поведения?

Связанный контент