Pertanyaan :Bagaimana cara mengatur variabel lingkungan untuk digunakan dengan layanan systemd Server MySQL?
Ada sejumlah metode berbeda yang dapat digunakan untuk mengatur variabel lingkungan untuk layanan systemd. Metode yang digunakan dapat bervariasi tergantung pada distribusi Linux dan versi distribusinya. Manual MySQL menyatakan bahwa pengaturan layanan dilakukan secara sederhana sebagai (hanya contoh):
[Service] LimitNOFILE=max_open_files PIDFile=/path/to/pid/file Nice=nice_level LimitCore=core_file_limit
Metode 1 – Menggunakan 'systemd edit'
Ini adalah metode yang disukai untuk membuat dan/atau mengedit file override yang berisi variabel lingkungan. Perintah untuk membuat/mengedit file override adalah:
# systemctl edit mysqld
Ini kemudian akan membuat direktori (jika tidak ada) dan membuat override.conf file yang akan berisi variabel. misalnya
[Service] Environment="TZ=time_zone_setting" Environment="AUTHENTICATION_PAM_LOG=1" Environment="LD_PRELOAD=/path/to/malloc/library"
File dan direktori yang diganti biasanya adalah:/etc/systemd/system/mysqld.service.d/override.conf
Metode 2 – Tambahkan beberapa variabel melalui file
Metode ini memungkinkan beberapa variabel lingkungan ditambahkan ke layanan melalui file sederhana.
[Service] LimitNOFILE=max_open_files PIDFile=/path/to/pid/file Nice=nice_level LimitCore=core_file_limit EnvironmentFile=-/etc/sysconf/mysqld
‘– ' karakter di awal nilai EnvironmentFile adalah membiarkan systemd mengabaikan kesalahan jika file tidak ada. File lingkungan hanya akan memiliki daftar variabel yang berbeda dalam format name=value. Misalnya:
LD_PRELOAD=/path/to/malloc/library TZ=time_zone_setting AUTHENTICATION_PAM_LOG=1
File lingkungan dapat berupa apa saja, seperti yang didefinisikan oleh atribut EnvironmentFile dalam layanan, namun, itu bisa khusus untuk versi dan distribusi Linux. Beberapa versi lama mengharapkannya berada di /etc/sysconf (untuk distribusi berbasis Redhat) versus /etc/default (untuk distribusi berbasis Debian). Ini adalah metode yang saat ini digunakan oleh paket Oracle MySQL.
Metode 3 – Tambahkan variabel lingkungan secara langsung
Ini hanya untuk menambahkan pengaturan name=value ke [Layanan] dari file layanan 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"
‘Lingkungan ' kata kunci di sini digunakan untuk mengidentifikasi variabel lingkungan apa yang ditentukan. Dalam pengaturan di atas, variabel lingkungan didefinisikan untuk menggunakan perpustakaan malloc yang berbeda untuk Server MySQL.