auto_increment_increment wird nach MySQL-Neustart zurückgesetzt?

auto_increment_increment wird nach MySQL-Neustart zurückgesetzt?

Ich lege die MySQL-Variable auto_increment_incrementmit 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.cnfDatei, 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?

verwandte Informationen