GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So legen Sie Umgebungsvariablen für einen systemd-Dienst in CentOS/RHEL 7 fest

Frage :Wie setze ich Umgebungsvariablen für die Verwendung mit einem systemd-Dienst von MySQL Server?

Es gibt eine Reihe verschiedener Methoden, die verwendet werden können, um Umgebungsvariablen für einen systemd-Dienst festzulegen. Die verwendete Methode kann je nach Linux-Distribution und Version der Distribution variieren. Das MySQL-Handbuch gibt an, dass die Einrichtung des Dienstes einfach wie folgt durchgeführt wird (nur Beispiel):

[Service]
LimitNOFILE=max_open_files
PIDFile=/path/to/pid/file
Nice=nice_level
LimitCore=core_file_limit

Methode 1 – Verwenden von „systemd edit“

Dies ist die bevorzugte Methode, eine Überschreibungsdatei zu erstellen und/oder zu bearbeiten, die die Umgebungsvariablen enthält. Der Befehl zum Erstellen/Bearbeiten der Override-Datei lautet:

# systemctl edit mysqld

Dies erstellt dann ein Verzeichnis (falls nicht vorhanden) und erstellt eine override.conf Datei, die die Variablen enthält. zB

[Service]
Environment="TZ=time_zone_setting"
Environment="AUTHENTICATION_PAM_LOG=1"
Environment="LD_PRELOAD=/path/to/malloc/library"

Die Überschreibungsdatei und das Verzeichnis sind normalerweise:/etc/systemd/system/mysqld.service.d/override.conf

Methode 2 – Mehrere Variablen über eine Datei hinzufügen

Diese Methode ermöglicht das Hinzufügen mehrerer Umgebungsvariablen zum Dienst über eine einfache Datei.

[Service]
LimitNOFILE=max_open_files
PIDFile=/path/to/pid/file
Nice=nice_level
LimitCore=core_file_limit
EnvironmentFile=-/etc/sysconf/mysqld

Das „ ‘ Zeichen am Anfang des EnvironmentFile-Werts soll systemd Fehler ignorieren lassen, wenn die Datei nicht existiert. Die Umgebungsdatei enthält einfach die Liste verschiedener Variablen im Format Name=Wert. Zum Beispiel:

LD_PRELOAD=/path/to/malloc/library
TZ=time_zone_setting
AUTHENTICATION_PAM_LOG=1

Die Umgebungsdatei kann beliebig sein, wie durch das EnvironmentFile-Attribut im Dienst definiert, sie könnte jedoch spezifisch für die Version und Distribution von Linux sein. Einige ältere Versionen erwarten, dass es sich in /etc/sysconf befindet (für Redhat-basierte Distributionen) im Vergleich zu /etc/default (für Debian-basierte Distributionen). Dies ist die Methode, die derzeit von den Oracle MySQL-Paketen verwendet wird.

Methode 3 – Fügen Sie die Umgebungsvariable direkt hinzu

Dies dient einfach dazu, eine Name=Wert-Einstellung in den Bereich [Service] der mysql-Dienstdatei hinzuzufügen.

[Service]
LimitNOFILE=max_open_files
PIDFile=/path/to/pid/file
Nice=nice_level
LimitCore=core_file_limit
Environment="LD_PRELOAD=/path/to/malloc/library"

Die „Umgebung Das Schlüsselwort hier wird verwendet, um zu identifizieren, welche Umgebungsvariable angegeben ist. In der obigen Einstellung ist die Umgebungsvariable so definiert, dass sie eine andere malloc-Bibliothek für den MySQL-Server verwendet.


Cent OS
  1. So legen Sie den Hostnamen in CentOS 7 / RHEL 7 fest oder ändern ihn

  2. CentOS / RHEL 7 :So konfigurieren Sie Serial Getty mit Systemd

  3. CentOS / RHEL 7 :So legen Sie udev-Regeln für ASM auf Multipath-Festplatten fest

  4. So legen Sie die CPU-Affinität für den SYSTEMD-Prozess in CentOS/RHEL 7 fest

  5. So legen Sie Ressourcenlimits für einen Prozess mit Systemd in CentOS/RHEL 7 und 8 fest

So installieren Sie die bin-Datei in RHEL 8 / CentOS 8 Linux

So aktivieren Sie Kdump auf RHEL 7 und CentOS 7

So installieren/aktualisieren Sie Systemd unter RHEL/CentOS 7

So stellen/ändern Sie den Hostnamen in CentOS 8 / RHEL 8

Samba-Server auf CentOS 8/RHEL 8 für die Dateifreigabe einrichten

CentOS / RHEL 7 :So überprüfen Sie den Status eines Dienstes mit systemd