Ubuntu telah pindah dari Pemula ke Systemd di versi 15.04 dan tidak lagi menghormati batasan di /etc/security/limits.conf untuk layanan sistem. Batasan ini sekarang hanya berlaku untuk sesi pengguna.
Batas untuk layanan MySQL ditentukan dalam file konfigurasi Systemd, yang harus Anda salin dari lokasi defaultnya ke /etc/systemd dan kemudian edit salinannya.
sudo cp /lib/systemd/system/mysql.service /etc/systemd/system/
sudo vim /etc/systemd/system/mysql.service # or your editor of choice
Tambahkan baris berikut ke bagian bawah file:
LimitNOFILE=infinity
LimitMEMLOCK=infinity
Anda juga dapat menetapkan batas numerik, misalnya LimitNOFILE=4510
.
Sekarang muat ulang konfigurasi Systemd dengan:
sudo systemctl daemon-reload
Mulai ulang MySQL dan sekarang harus mematuhi direktif max_connections.
Saya juga mengalami masalah menghentikan MySQL dengan bersih setelah memutakhirkan ke 15,04. Jika ini mempengaruhi Anda (Anda akan tahu karena akan memakan waktu 300 detik untuk time out saat Anda melakukan service mysql stop
atau service mysql restart
) kemudian menambahkan baris berikut ke file /etc/systemd/system/mysql.service yang sama memperbaikinya untuk saya:
ExecStop=/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf shutdown
Masalah terakhir ini tampaknya telah diperbaiki pada 16,04 dan baris ini tidak lagi diperlukan, jadi sebelum Anda melakukan peningkatan distribusi, Anda harus menghentikan MySQL dan menghapus ExecStop
baris dari file konfigurasi.