Thank you for reading this post, don't forget to subscribe!
Существует множество различных методов, которые можно использовать для установки переменных среды для службы systemd.
Используемый метод может различаться в зависимости от дистрибутива Linux и его версии.
В руководстве MySQL говорится, что настройка сервиса выполняется просто (пример):
1 2 3 4 5 |
[Service] LimitNOFILE=max_open_files PIDFile=/path/to/pid/file Nice=nice_level LimitCore=core_file_limit |
Метод 1 — Использование «systemd edit»
Это предпочтительный метод, который заключается в создании и / или редактировании файла override., который содержит переменные среды.
Команда для создания / редактирования файла override.:
1 |
# systemctl edit mysqld |
Затем будет создан каталоге и файл override.conf, который будет содержать переменные. например
1 2 3 4 |
[Service] Environment="TZ=time_zone_setting" Environment="AUTHENTICATION_PAM_LOG=1" Environment="LD_PRELOAD=/path/to/malloc/library" |
Файл и каталог override.conf обычно будут следующими : /etc/systemd/system/mysqld.service.d/override.conf
Способ 2 — Добавить несколько переменных через файл
Этот метод позволяет добавить несколько переменных среды сервису через простой файл.
1 2 3 4 5 6 |
[Service] LimitNOFILE=max_open_files PIDFile=/path/to/pid/file Nice=nice_level LimitCore=core_file_limit EnvironmentFile=-/etc/sysconf/mysqld |
Символ ‘- at в начале значения EnvironmentFile позволяет позволить systemd игнорировать ошибки, если файл не существует.
Файл среды будет просто иметь список различных переменных в формате имя = значение. Например:
1 2 3 |
LD_PRELOAD=/path/to/malloc/library TZ=time_zone_setting AUTHENTICATION_PAM_LOG=1 |
Файл среды может быть любым, как определено атрибутом EnvironmentFile в сервисе, однако он может зависеть от версии Linux.
Некоторые старые версии требуют, что файл будет в /etc/sysconf (для дистрибутивов на основе Redhat) по сравнению с /etc/default (для дистрибутивов на основе Debian).
Этот метод в настоящее время используется пакетами Oracle MySQL.
Способ 3 — Добавить переменные среды напрямую
Добавления настройки name=value в секцию [Service] файла службы mysql.
1 2 3 4 5 6 |
[Service] LimitNOFILE=max_open_files PIDFile=/path/to/pid/file Nice=nice_level LimitCore=core_file_limit Environment="LD_PRELOAD=/path/to/malloc/library" |
Ключевое слово «Environment» здесь используется для того, чтобы определить, какая переменная среды указана.
В приведенном выше параметре переменная среды определена для использования другой библиотеки malloc для MySQL Server.