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

這應該可行(我自己沒有測試過)。出於好奇,為什麼你想要這樣的行為?

相關內容