max_user_connections menentukan jumlah maksimum koneksi pengguna. Jika Anda menerima pesan error terkait batas maksimum koneksi pengguna, seperti "has more than 'max_user_connections' active connections" atau "User 'xxx' has exceeded the 'max_user_connections' resource", ikuti langkah-langkah dalam artikel ini untuk mengatasi masalah tersebut.
Gejala
Anda tidak dapat terhubung ke instans ApsaraDB RDS for MySQL dari Konsol Data Management (DMS) atau klien database. Sistem mengembalikan pesan error terkait "max_user_connections".
Penyebab
Koneksi baru gagal karena instans ApsaraDB RDS for MySQL telah mencapai batas koneksi maksimumnya.
Identifikasi sumber koneksi
Fitur konsol
SQL Explorer and Audit
Setelah Anda mengaktifkan fitur SQL Explorer and Audit, fitur ini secara otomatis mencatat pernyataan SQL dari kernel database, termasuk akun yang mengeksekusi, alamat IP, dan detail eksekusi lainnya. Fitur ini tidak memengaruhi performa instans. Untuk informasi selengkapnya, lihat SQL Explorer and Audit.
SQL Explorer and Audit adalah fitur berbayar. Untuk informasi lebih lanjut tentang penagihan, lihat Penagihan SQL Explorer and Audit.
Prosedur
-
Buka daftar instans RDS, pilih wilayah di bilah navigasi atas, lalu klik ID instans target.
-
Di panel navigasi sebelah kiri, pilih .
-
Aktifkan SQL Explorer and Audit.
Session Management
Fitur Session Management memungkinkan Anda melihat semua sesi aktif, sedang berjalan, dan abnormal untuk suatu instans. Fitur ini menampilkan informasi seperti pengguna, host, waktu eksekusi, dan status setiap sesi. Untuk informasi selengkapnya, lihat Session Management.
Prosedur
-
Buka daftar instans RDS, pilih wilayah di bilah navigasi atas, lalu klik ID instans target.
-
Di panel navigasi sebelah kiri, pilih Autonomy Services > Diagnostics.
-
Tab Session Management menampilkan pengguna, host, waktu eksekusi, dan status sesi saat ini untuk instans tersebut.
Perintah SQL
Saat database telah mencapai batas koneksi maksimumnya, Anda tidak dapat membuat sesi baru untuk mengeksekusi pernyataan SQL. Jika Anda memiliki sesi Data Management (DMS) yang sudah ada, Anda dapat menggunakannya untuk menjalankan perintah SQL.
Hubungkan ke database dari instans Elastic Compute Service (ECS) atau login ke Data Management (DMS), lalu jalankan perintah SQL berikut untuk melihat dan memecahkan masalah thread lambat. Untuk informasi selengkapnya, lihat:
SHOW PROCESSLIST;
Kolom Host pada hasil menunjukkan alamat IP sumber koneksi.
Hasil mencakup kolom Id, User, Host, db, Command, dan Time. Periksa kolom Command untuk menentukan status setiap thread. Misalnya, perintah Binlog Dump GTID menunjukkan koneksi replikasi primary-replica, dan perintah Daemon menunjukkan daemon penjadwal event. Pecahkan masalah thread yang berjalan lama.
Penyelesaian
-
Tinjau detail sesi instans.
-
Buka daftar instans RDS, pilih wilayah di bilah navigasi atas, lalu klik ID instans target.
-
Di panel navigasi sebelah kiri, pilih .
-
Di tab Session Management, lihat detail sesi instans. Untuk informasi selengkapnya, lihat Sesi instans.
-
-
Lihat konfigurasi max_user_connections dari instans database.
Anda dapat melihat nilai parameter max_user_connections dengan dua cara berikut:
-
Dari Konsol ApsaraDB RDS:
-
Buka daftar instans RDS, pilih wilayah di bilah navigasi atas, lalu klik ID instans target.
-
Di panel navigasi sebelah kiri, klik Parameters.
-
Di tab Editable Parameters, lihat nilai parameter max_user_connections.
-
-
Login ke ApsaraDB RDS for MySQL dan eksekusi perintah berikut untuk melihat nilai parameter max_user_connections.
show variables like 'max_user_connections';
-
-
Setelah memastikan bahwa Anda memiliki sumber daya memori yang cukup, tingkatkan nilai parameter max_user_connections. Untuk informasi selengkapnya, lihat Mengubah jumlah maksimum koneksi.
-
Jika masalah tetap berlanjut, coba metode berikut:
-
Pecahkan masalah dan optimalkan jumlah koneksi yang tinggi. Untuk informasi selengkapnya, lihat Yang harus dilakukan jika jumlah koneksi ke instans ApsaraDB RDS for MySQL mencapai batas atas.
-
Mulai ulang instans untuk melepaskan semua koneksi. Untuk informasi selengkapnya, lihat Mulai ulang instans.
-