Schön, dass Sie sich für unseren
Blog interessieren!

Bleiben Sie immer auf dem Laufenden
und abonnieren Sie den Blog-Newsletter

2 Minuten Lesezeit (342 Worte)

Mit kleinen Sachen DBAs eine Freude machen: Validation der MySQL-Konfiguration

Konfigurationsdateien sind ein steter Quell von Fehlern. Gerade bei älteren Systemen (vor Version 8.0), welche noch nicht die Möglichkeit hatten, online persistent Änderungen vorzunehmen (z. B. über „set global persist …“), kam es oft zu kleineren Problemen. Der Parameter wurde aufgrund einer mangelnden Downtime online (aber flüchtig und somit nicht reboot persistent) gesetzt und wurde parallel (!) in die Konfiguration geschrieben, um auch über einen Neustart den Parameter zu erhalten. Hat man sich hierbei in der Konfiguration vertippt, so konnte man beim nächsten geplanten oder ungeplanten (!) Start der DB dann auf Fehlersuche gehen.

Konfigurations-Kauderwelsch 

Die Schreibweise und Namenstreue von Parametern in der/den Konfigurationsdateien (z. B. /etc/my.cnf o.ä.) ist bei MySQL nicht sehr hoch. Wird der Parameter als „log_bin“, „log-bin“ oder „logbin“ deklariert? Vor solchen und/oder ähnlichen Frage stehen sicher einige MySQL DBAs in der Praxis recht oft. Sofern man den Server durchstarten kann, ist man in der Lage sich „iterativ“ (;-)) der richtigen Schreibweise zu nähern. Im oben beschrieben Szenario (Downtime unerwünscht) ist dies jedoch nicht möglich. 

Nur eine Kleinigkeit? 

Ab der Version 8.0.16 gibt es nun die Möglichkeit die Konfiguration zu prüfen. Dafür wurde die Option „—validate-config“ eingeführt. Hier ein kleines Beispiel: 

# korrekte Konfiguration 

bash> /etc/mysql/mysql.conf.d# mysqld --defaults-file=mysqld.cnf --validate-config 

bash> /etc/mysql/mysql.conf.d# echo $? 

0 

 

# ein kleiner Tippfehler 

bash>  echo "slowquerylog = ON" >> mysqld.cnf 

bash> mysqld --defaults-file=mysqld.cnf --validate-config 

2022-10-24T07:31:41.928416Z 0 [ERROR] [MY-000067] [Server] unknown variable 'slowquerylog=ON'. 

2022-10-24T07:31:41.928495Z 0 [ERROR] [MY-010119] [Server] Aborting  

Erfahrene MySQLer werden es wissen. Der Parameter heißt natürlich „slow_query_log“. Der Fehler wird zuverlässig erkannt und sollte schnellstmöglich korrigiert werden. 

Nur eine Kleinigkeit!

Ja, der neue Parameter „—validate-config“ des MySQL-Dienstes ist kein „großes Ding“. Andere Applikationen (z. B. der Apache Webserver) kennen solche Optionen und/oder Kommandos zur Überprüfung des Konfigurationsstatus schon lange. Trotzdem ist es schön zu sehen, dass es auch so kleine, unauffällige Verbesserungen in die neuen MySQL-Releases schaffen.

Sie haben Fragen rund um den Betrieb von MySQL? Sprechen Sie uns an oder besuchen Sie eines unserer Seminare zu diesem Thema! 

Principal Consultant bei ORDIX.

Seminarempfehlung

 

Kommentare

Derzeit gibt es keine Kommentare. Schreibe den ersten Kommentar!
Gäste
Sonntag, 04. Dezember 2022

Sicherheitscode (Captcha)

×
Informiert bleiben!

Bei Updates im Blog, informieren wir per E-Mail.

Weitere Artikel in der Kategorie