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
それは動作するはずです (自分ではテストしていません)。興味深いことに、なぜそのような動作が必要なのですか?