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
這應該可行(我自己沒有測試過)。出於好奇,為什麼你想要這樣的行為?