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.