![mysql 重启后 auto_increment_increment 会重置吗?](https://linux22.com/image/1052805/mysql%20%E9%87%8D%E5%90%AF%E5%90%8E%20auto_increment_increment%20%E4%BC%9A%E9%87%8D%E7%BD%AE%E5%90%97%EF%BC%9F.png)
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
这应该可行(我自己没有测试过)。好奇的是,你为什么想要这样的行为?