Kesalahan MySQL/MariaDB Failed to connect to MySQL: Too many connections atau artinya “Terlalu banyak koneksi” terjadi ketika lebih banyak kueri dikirim ke database MySQL daripada yang dapat diproses. Kesalahan dapat diperbaiki dengan menyetel/membuat baru jumlah/nomor koneksi maksimum atau maximum connections di file konfigurasi atau secara global.
Bagaimana kesalahan MySQL “Too many connections” terjadi?
Database hanya dapat menangani sejumlah kueri dalam satu waktu. Jika melebihi maksimum, MySQL menampilkan pesan kesalahan di atas. Ini adalah kasus, misalnya, ketika skrip PHP mencoba membuat terlalu banyak koneksi simultan ke database relasional . Jika Anda menggunakan aplikasi web yang menggunakan database MySQL, kesalahan “Terlalu banyak koneksi” MySQL mungkin terjadi saat permintaan sangat tinggi .

Pilih/ atur jumlah koneksi maksimum yang baru
Variabel sistem max_connections menentukan jumlah koneksi yang akan diterima oleh MySQL/MariaDB. Nilai defaultnya adalah 151 koneksi, yang memungkinkan 150 koneksi normal ditambah satu koneksi dari akun SUPER . SUPER adalah hak istimewa MySQL yang memberikan hak admin kepada pengguna.
Hal pertama yang harus diputuskan adalah nilai maksimum baru yang ingin Anda tetapkan untuk max_connections. Ada beberapa pertimbangan untuk dipertimbangkan saat meningkatkan jumlah koneksi MySQL/MariaDB. Jumlah maksimum yang dapat didukung oleh sistem akan bergantung pada:
- Jumlah RAM yang tersedia
- Berapa banyak RAM yang dibutuhkan setiap koneksi (kueri sederhana akan membutuhkan lebih sedikit RAM daripada koneksi yang lebih padat karya).
- Waktu respons yang dapat diterima .
Menurut dokumentasi MySQL , sebagian besar sistem Linux dapat mendukung 500 hingga 1.000 koneksi tanpa kesulitan.
Ubah max_connections
Variabel max_connections dapat diubah di dua tempat:
Perbarui file my.cnf , sehingga nilai baru digunakan jika server MySQL/MariaDB di-restart.
Gunakan perintah SET GLOBAL untuk memperbarui nilai pada server MySQL/MariaDB yang sedang berjalan. Dalam hal ini, tidak perlu me-restart MySQL/MariaDB, jadi Anda tidak perlu membiarkan database Anda downtime.
Menampilkan jumlah koneksi di MySQL
Untuk memeriksa jumlah max_connections saat ini, masuk ke klien baris perintah MySQL/MariaDB dengan perintah berikut:
mysql -u root -p
Sekarang, gunakan perintah:
SHOW variables;
Ini akan menampilkan daftar semua variabel yang diatur untuk MySQL/MariaDB. Gulir ke atas daftar untuk menemukan nilai untuk max_connections.
Perbarui file my.cnf
Buka file /etc/my.cnf untuk diedit dengan perintah:
sudo nano /etc/my.cnf
Tepat di bawah baris pertama, Anda akan melihat entri berikut:
[mysqld]
Tambahkan baris ke entri:
max_connections=[desired new maximum number]
Misalnya, untuk menyetel max_connections ke 200, dua baris pertama file konfigurasi Anda akan terlihat seperti ini:
[mysqld]
max_connections=200
Simpan dan keluar dari file.
Tetapkan jumlah koneksi secara global
Anda juga dapat mengatur jumlah koneksi maksimum untuk database Anda secara global. Pertama masuk ke klien baris perintah MySQL/MariaDB menggunakan perintah:
mysql -u root -p
Sesuaikan jumlah maksimum baru pilihan Anda dari nilai max_connections baru dengan perintah:
SET GLOBAL max_connections=[desired new maximum number];
Misalnya, untuk mengatur max_connections ke 200, perintahnya adalah:
SET GLOBAL max_connections=200;
Terakhir, keluar dari MySQL/MariaDB dengan perintah:
quit;
