Otázka :Jak nastavit proměnné prostředí pro použití se službou systemd serveru MySQL?
Existuje řada různých metod, které lze použít k nastavení proměnných prostředí pro službu systemd. Použitá metoda se může lišit v závislosti na distribuci Linuxu a verzi distribuce. Manuál MySQL uvádí, že nastavení služby se provádí jednoduše takto (pouze příklad):
[Service] LimitNOFILE=max_open_files PIDFile=/path/to/pid/file Nice=nice_level LimitCore=core_file_limit
Metoda 1 – Použití „systemd edit“
Toto je preferovaná metoda, která spočívá ve vytvoření a/nebo úpravě souboru přepisu, který obsahuje proměnné prostředí. Příkaz k vytvoření/úpravě souboru přepsání je:
# systemctl edit mysqld
Tím se vytvoří adresář (pokud neexistuje) a vytvoří se override.conf soubor, který bude obsahovat proměnné. např.
[Service] Environment="TZ=time_zone_setting" Environment="AUTHENTICATION_PAM_LOG=1" Environment="LD_PRELOAD=/path/to/malloc/library"
Soubor a adresář přepisu budou obvykle:/etc/systemd/system/mysqld.service.d/override.conf
Metoda 2 – Přidání více proměnných prostřednictvím souboru
Tato metoda umožňuje přidání více proměnných prostředí do služby prostřednictvím jednoduchého souboru.
[Service] LimitNOFILE=max_open_files PIDFile=/path/to/pid/file Nice=nice_level LimitCore=core_file_limit EnvironmentFile=-/etc/sysconf/mysqld
„– Znak ‘ na začátku hodnoty EnvironmentFile má umožnit systemd ignorovat chyby, pokud soubor neexistuje. Soubor prostředí bude mít jednoduše seznam různých proměnných ve formátu název=hodnota. Například:
LD_PRELOAD=/path/to/malloc/library TZ=time_zone_setting AUTHENTICATION_PAM_LOG=1
Soubor prostředí může být libovolný, jak je definováno atributem EnvironmentFile ve službě, může však být specifický pro verzi a distribuci Linuxu. Některé starší verze očekávají, že bude v /etc/sysconf (pro distribuce založené na Redhat) versus /etc/default (pro distribuce založené na Debianu). Toto je metoda, kterou v současnosti používají balíčky Oracle MySQL.
Metoda 3 – Přidejte proměnnou prostředí přímo
Jde pouze o přidání nastavení name=value do [Service] souboru služby 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"
„Prostředí Klíčové slovo ‘ se zde používá k identifikaci, jaká proměnná prostředí je specifikována. Ve výše uvedeném nastavení je proměnná prostředí definována tak, aby používala jinou knihovnu malloc pro server MySQL.