All Products
Search
Document Center

ApsaraDB RDS:Mengatasi error koneksi untuk ApsaraDB RDS for MySQL

Last Updated:Aug 08, 2026

Parameter max_user_connections menetapkan jumlah maksimum koneksi yang diizinkan untuk sebuah database pada instans ApsaraDB RDS for MySQL. Ketika upaya koneksi memicu salah satu error berikut, berarti database telah mencapai batas koneksi:

  • has more than 'max_user_connections' active connections

  • User 'xxx' has exceeded the 'max_user_connections' resource

Diagnosis masalah

Karena batas koneksi telah tercapai, sesi baru mungkin gagal dibuka. Jika Anda memiliki sesi aktif di Data Management Service (DMS), gunakan sesi tersebut untuk menjalankan kueri berikut. Jika tidak, hubungkan melalui instans Elastic Compute Service (ECS). Untuk petunjuk koneksi, lihat Bagaimana cara menghubungkan ke instans ApsaraDB RDS? atau Gunakan DMS untuk login ke instans ApsaraDB RDS for MySQL.

Jalankan dua kueri berikut untuk memahami kondisi saat ini:

-- Periksa batas koneksi saat ini untuk pengguna database ini
show variables like 'max_user_connections';

-- Tampilkan semua sesi aktif dan alamat IP sumbernya (kolom Host)
SHOW PROCESSLIST;

SHOW PROCESSLIST menampilkan setiap koneksi yang terbuka. Untuk merangkum koneksi berdasarkan klien tanpa memindai seluruh daftar, jalankan kueri agregat:

SELECT user, host, count(*) as ct
FROM information_schema.processlist
WHERE user NOT IN ('aliyun_root','aurora','replicator','system user','event_scheduler')
GROUP BY user, host
ORDER BY ct DESC;

Kueri ini mengecualikan akun sistem internal dan mengelompokkan sesi yang tersisa berdasarkan pengguna dan IP sumber (kolom host), sehingga klien dengan koneksi terbanyak muncul paling atas.

Sebagai alternatif, gunakan konsol ApsaraDB RDS:

  1. Login ke konsol ApsaraDB RDS. Di bilah navigasi atas, pilih wilayah tempat instans Anda berada. Temukan instans tersebut dan klik ID-nya.

  2. Di panel navigasi sebelah kiri, pilih Autonomy Services > Diagnostics.

  3. Di halaman Diagnostics, klik tab Session Management untuk melihat semua sesi beserta detailnya, termasuk User, Hostname, Execution Duration (s), dan Status.

Untuk jejak audit mendetail tentang akun dan alamat IP mana saja yang membuka koneksi, gunakan fitur SQL Explorer and Audit (Autonomy Services > SQL Explorer and Audit). Jika fitur ini belum diaktifkan, aktifkan terlebih dahulu. Untuk informasi lebih lanjut, lihat Menggunakan fitur SQL Explorer and Audit.

Fitur SQL Explorer and Audit dikenai biaya terpisah. Untuk rincian harga, lihat Aturan penagihan.

Penyelesaian masalah

Pilih solusi yang sesuai dengan temuan Anda selama diagnosis.

Terlalu banyak sesi idle atau sesi berdurasi panjang

Jika SHOW PROCESSLIST menunjukkan banyak sesi dalam status Sleep atau sesi dengan durasi eksekusi yang tidak wajar panjang, slot koneksi sedang ditempati oleh thread idle atau macet. Hentikan sesi bermasalah tersebut dari tab Session Management di konsol, atau hentikan menggunakan SQL. Untuk petunjuk langkah demi langkah, lihat Manajemen sesi.

Batas koneksi terlalu rendah

Jika jumlah sesi aktif memang tinggi dan nilai max_user_connections saat ini terlalu ketat, tingkatkan batas tersebut:

  1. Pastikan instans Anda memiliki cukup memori untuk mendukung lebih banyak koneksi. Setiap koneksi mengonsumsi memori, dan menetapkan nilai ini terlalu tinggi dapat menyebabkan tekanan memori pada instans.

  2. Setelah memastikan memori mencukupi, perbarui nilai parameter tersebut. Untuk petunjuknya, lihat Mengubah parameter yang menentukan jumlah maksimum koneksi. Untuk melihat nilai saat ini sebelum mengubahnya:

    1. Di konsol ApsaraDB RDS, buka halaman detail instans.

    2. Di panel navigasi sebelah kiri, klik Parameters.

    3. Di tab Modifiable Parameters, cari max_user_connections.

Masalah tetap berlanjut setelah langkah-langkah di atas

Jika batas koneksi tetap menjadi masalah berulang: