Pregunta :¿Cómo establecer variables de entorno para usar con un servicio systemd de MySQL Server?
Hay una serie de métodos diferentes que se pueden usar para establecer variables de entorno para un servicio systemd. El método utilizado puede variar según la distribución de Linux y la versión de la distribución. El manual de MySQL establece que la configuración del servicio se realiza simplemente como (solo ejemplo):
[Service] LimitNOFILE=max_open_files PIDFile=/path/to/pid/file Nice=nice_level LimitCore=core_file_limit
Método 1:usar 'systemd edit'
Este es el método preferido que consiste en crear y/o editar un archivo de anulación que contiene las variables de entorno. El comando para crear/editar el archivo de anulación es:
# systemctl edit mysqld
Esto creará un directorio (si no existe) y creará un override.conf archivo que contendrá las variables. por ejemplo
[Service] Environment="TZ=time_zone_setting" Environment="AUTHENTICATION_PAM_LOG=1" Environment="LD_PRELOAD=/path/to/malloc/library"
El archivo y el directorio de anulación generalmente serán:/etc/systemd/system/mysqld.service.d/override.conf
Método 2:agregue múltiples variables a través de un archivo
Este método permite agregar múltiples variables de entorno al servicio a través de un archivo simple.
[Service] LimitNOFILE=max_open_files PIDFile=/path/to/pid/file Nice=nice_level LimitCore=core_file_limit EnvironmentFile=-/etc/sysconf/mysqld
El '– El carácter al comienzo del valor de EnvironmentFile permite que systemd ignore los errores si el archivo no existe. El archivo de entorno simplemente tendrá la lista de diferentes variables en el formato nombre=valor. Por ejemplo:
LD_PRELOAD=/path/to/malloc/library TZ=time_zone_setting AUTHENTICATION_PAM_LOG=1
El archivo de entorno puede ser cualquiera, tal como lo define el atributo EnvironmentFile en el servicio; sin embargo, podría ser específico de la versión y distribución de Linux. Algunas versiones anteriores esperarán que esté en /etc/sysconf (para distribuciones basadas en Redhat) frente a /etc/default (para distribuciones basadas en Debian). Este es el método utilizado actualmente por los paquetes Oracle MySQL.
Método 3:agregue la variable de entorno directamente
Esto es simplemente para agregar una configuración de nombre =valor en el área [Servicio] del archivo de servicio 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"
El 'Medioambiente La palabra clave aquí se usa para identificar qué variable de entorno se especifica. En la configuración anterior, la variable de entorno está definida para usar una biblioteca malloc diferente para el servidor MySQL.