Я устанавливаю переменную 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
Это должно сработать (сам я не проверял). Любопытно, почему вы хотите такого поведения?