GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come impostare le variabili di ambiente per un servizio systemd in CentOS/RHEL 7

Domanda :Come impostare le variabili di ambiente da utilizzare con un servizio systemd di MySQL Server?

Esistono diversi metodi che possono essere utilizzati per impostare le variabili di ambiente per un servizio systemd. Il metodo utilizzato può variare a seconda della distribuzione Linux e della versione della distribuzione. Il manuale MySQL afferma che la configurazione del servizio viene eseguita semplicemente come (solo esempio):

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

Metodo 1:utilizzo della "modifica di sistema"

Questo è il metodo preferito che consiste nel creare e/o modificare un file di sostituzione che contiene le variabili di ambiente. Il comando per creare/modificare il file di sostituzione è:

# systemctl edit mysqld

Questo creerà quindi una directory (se non esistente) e creerà un override.conf file che conterrà le variabili. ad esempio

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

Il file e la directory di sostituzione saranno solitamente:/etc/systemd/system/mysqld.service.d/override.conf

Metodo 2:aggiungi più variabili tramite un file

Questo metodo consente di aggiungere più variabili di ambiente al servizio tramite un semplice file.

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

Il " Il carattere all'inizio del valore EnvironmentFile consente a systemd di ignorare gli errori se il file non esiste. Il file di ambiente avrà semplicemente l'elenco delle diverse variabili nel formato nome=valore. Ad esempio:

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

Il file di ambiente può essere qualsiasi, come definito dall'attributo EnvironmentFile nel servizio, tuttavia, potrebbe essere specifico per la versione e la distribuzione di Linux. Alcune versioni precedenti si aspetteranno che sia in /etc/sysconf (per le distribuzioni basate su Redhat) rispetto a /etc/default (per distribuzioni basate su Debian). Questo è il metodo attualmente utilizzato dai pacchetti Oracle MySQL.

Metodo 3:aggiungi direttamente la variabile di ambiente

Questo è semplicemente per aggiungere un'impostazione nome=valore in [Servizio] sono del file di servizio mysql.

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

L'"Ambiente ' qui viene utilizzata per identificare quale variabile di ambiente è specificata. Nell'impostazione precedente, la variabile di ambiente è definita per utilizzare una libreria malloc diversa per il server MySQL.


Cent OS
  1. Come creare un file kickstart per CentOS/Fedora/RedHat (RHEL)

  2. Come riavviare il servizio di rete su CentOS 8 o RHEL 8

  3. Come impostare children-max per il servizio udev in CentOS/RHEL 7

  4. Come controllare la risorsa (cgroup) con systemd per il gruppo di processi utente in CentOS/RHEL 7

  5. Come impostare i valori ulimit per un servizio systemd

Come installare il file bin in RHEL 8 / CentOS 8 Linux

Come abilitare Kdump su RHEL 7 e CentOS 7

Come installare/aggiornare Systemd su RHEL/CentOS 7

Come impostare/modificare il nome host in CentOS 8 / RHEL 8

Configura il server Samba su CentOS 8/RHEL 8 per la condivisione di file

CentOS / RHEL 7:come controllare lo stato di un servizio utilizzando systemd