Ich lege die MySQL-Variable auto_increment_increment
mit dem folgenden Befehl fest.
mysql -u root -p -e "SET GLOBAL auto_increment_increment = 10;"
Und alles funktioniert, bis ich MySQL neu starte (mit sudo service mysql restart
), dann sind die Variablen wieder auf die Standardwerte zurückgesetzt.
Vor dem Neustart:
mysql> SHOW VARIABLES LIKE 'auto_%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| auto_increment_increment | 10 |
| auto_increment_offset | 1 |
+--------------------------+-------+
2 rows in set (0.00 sec)
Nach dem Neustart:
mysql> SHOW VARIABLES LIKE 'auto_%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| auto_increment_increment | 1 |
| auto_increment_offset | 1 |
+--------------------------+-------+
2 rows in set (0.00 sec)
Wie kann ich diese Änderungen dauerhaft machen?
Antwort1
Ihr Befehl ändert das Verhalten nur vorübergehend. Fügen Sie daher eine neue Konfiguration in hinzu /etc/mysql/conf.d/
. Vermeiden Sie Änderungen in /etc/mysql/my.cnf
. Warum? Siehe am Ende meiner Antwort.
sudo nano /etc/mysql/conf.d/my.cnf
und füge hinzu
[mysqld]
auto-increment-increment = 10
Laden Sie die Konfiguration neu oder starten Sie den Server neu.
Aus dem Standard übernommenmy.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/
Antwort2
Wie von ssta angemerkt, können Sie eine Konfigurationsdatei verwenden. Der beste Ort dafür ist wahrscheinlich die my.cnf
Datei, die beim Start verwendet wird. Nehmen Sie die folgenden Änderungen vor:
...
[mysqld]
auto_increment_increment = 10
...
Speichern Sie die Datei und starten Sie den Server neu.
sudo service mysql restart
Das sollte funktionieren (ich habe es nicht selbst getestet). Aus Neugier, warum möchten Sie ein solches Verhalten?