Tidak dapat terhubung ke koneksi menolak mysql?

Ada sejumlah akar penyebab ketidakmampuan untuk terhubung ke instans DB Amazon RDS. Berikut adalah beberapa alasan yang lebih umum

  • Instans DB RDS dalam keadaan selain tersedia, sehingga tidak dapat menerima koneksi
  • Sumber Anda untuk terhubung ke instans DB tidak memiliki akses otorisasi di grup keamanan, daftar kontrol akses jaringan (ACL), atau firewall lokal Anda
  • Nama DNS atau titik akhir yang salah digunakan untuk terhubung ke instans DB
  • Instans DB Multi-AZ gagal, dan instans DB sekunder menggunakan subnet atau tabel rute yang tidak mengizinkan koneksi masuk
  • Autentikasi pengguna salah karena salah satu alasan berikut
    • Anda menggunakan nama pengguna atau sandi yang salah di tingkat database untuk mengakses instans dari klien DB
    • Anda tidak memiliki izin database yang diperlukan untuk mengakses instance
    • Klien berjalan pada versi yang tidak kompatibel dengan versi database

Tip. Anda dapat menggunakan langkah pemecahan masalah berikut untuk mengidentifikasi sumber masalah konektivitas. Atau Anda dapat menggunakan dokumen AWSSupport-TroubleshootConnectivityToRDS AWS Systems Manager Automation untuk mendiagnosis masalah bagi Anda. Dokumen otomatisasi ini dapat mendiagnosis ACL jaringan berdasarkan alamat IP primer dari instans Amazon Elastic Compute Cloud (Amazon EC2). Namun, port sesaat tidak diverifikasi. Dokumen otomatisasi juga memeriksa grup keamanan berdasarkan alamat IP utama instans EC2, tetapi otomatisasi tersebut tidak memeriksa port tertentu. Untuk informasi selengkapnya, lihat Menjalankan otomatisasi

Resolusi

Pastikan instans DB Anda dalam status tersedia

Jika Anda baru saja meluncurkan atau mem-boot ulang instans DB Anda, konfirmasikan bahwa instans DB dalam status tersedia di. Bergantung pada ukuran instans DB Anda, diperlukan waktu hingga 20 menit agar instans DB tersedia untuk koneksi jaringan

Jika instans DB Anda dalam keadaan gagal, lihat Mengapa instans DB Amazon RDS saya dalam keadaan gagal?

Pastikan instans DB Anda mengizinkan koneksi

Pastikan lalu lintas dari sumber yang terhubung ke instans DB Anda tidak dibatasi oleh satu atau beberapa hal berikut

  • Grup keamanan Amazon Virtual Private Cloud (Amazon VPC) apa pun yang terkait dengan instans DB. Jika perlu, terkait dengan VPC yang mengizinkan lalu lintas yang terkait dengan sumber masuk dan keluar dari instans DB. Anda dapat menentukan alamat IP, rentang alamat IP, atau grup keamanan VPC lainnya. Untuk informasi umum tentang VPC dan instans DB, lihat Skenario untuk mengakses instans DB di VPC
  • Grup keamanan DB apa pun yang terkait dengan instans DB. Jika instans DB tidak ada di VPC, instans tersebut mungkin menggunakan grup keamanan DB untuk membatasi lalu lintas. Perbarui grup keamanan DB Anda untuk mengizinkan lalu lintas dari rentang alamat IP atau yang Anda gunakan untuk terhubung
  • Koneksi di luar VPC. Pastikan instans DB dapat diakses publik dan dikaitkan dengan subnet publik (misalnya, tabel rute memungkinkan akses dari gateway internet). Untuk informasi selengkapnya, lihat Skenario untuk mengakses instans DB di VPC
    Jika instans DB Anda berada dalam subnet pribadi, pastikan untuk menggunakan VPC peering atau AWS Site-to-Site VPN untuk terhubung ke instans Anda dengan aman. Dengan Site-to-Site VPN, Anda memungkinkan Anda menghubungkan VPC ke jaringan jarak jauh Anda. Anda dapat menggunakan peering VPC dengan membuat koneksi peering antara VPC sumber dan VPC instance Anda untuk mengakses instance dari luar VPC-nya. Anda juga dapat menggunakan instans Amazon EC2 sebagai host bastion (jump).
  • ACL jaringan. ACL jaringan bertindak sebagai firewall untuk sumber daya di subnet tertentu di VPC. Jika Anda menggunakan ACL di VPC, lalu ke dan dari instans DB
  • Jaringan atau firewall lokal. Tanyakan kepada administrator jaringan Anda apakah jaringan Anda mengizinkan lalu lintas ke dan dari port yang digunakan instans DB untuk komunikasi masuk dan keluar
    Catatan. Amazon RDS tidak menerima lalu lintas Internet Control Message Protocol (ICMP), termasuk ping

Memecahkan potensi masalah nama DNS atau titik akhir

Saat menghubungkan ke instans DB, Anda menggunakan nama DNS (titik akhir) yang disediakan oleh konsol Amazon RDS. Pastikan untuk menggunakan titik akhir yang benar. Berikan juga titik akhir dalam format yang benar ke klien yang Anda gunakan untuk terhubung ke instans DB. Untuk informasi selengkapnya tentang koneksi mesin DB dan cara menggunakan titik akhir di berbagai aplikasi klien, lihat Memulai dengan Amazon RDS

Misalnya, gunakan nslookup ke titik akhir instans DB dari instans Amazon EC2 dalam VPC

nslookup myexampledb.xxxx.us-east-1.rds.amazonaws.com 
Server: xx.xx.xx.xx 
Address: xx.xx.xx.xx#53

Lihat contoh jawaban non-otoritatif berikut

Name: myexampledb.xxxx.us-east-1.rds.amazonaws.com 
Address: 172.31.xx.x
_

Memecahkan masalah tingkat basis data

  • Pastikan Anda menggunakan nama pengguna dan kata sandi yang benar untuk mengakses instans dari klien DB Anda
  • Pastikan pengguna memiliki izin database untuk terhubung ke instans DB
  • Periksa pelambatan sumber daya apa pun di Amazon RDS, seperti pertengkaran CPU atau memori. Perselisihan ini mungkin menyebabkan masalah dengan membangun koneksi baru ke instans
  • Pastikan instance belum mencapai batas max_connections

Periksa tabel rute yang terkait dengan instans Anda

Saat Anda membuat penerapan Multi-AZ, Anda meluncurkan beberapa instans DB replika di Availability Zone yang berbeda untuk meningkatkan toleransi kesalahan aplikasi Anda. Pastikan bahwa subnet yang terkait dengan setiap instans DB dikaitkan dengan tabel rute yang sama atau serupa. Jika instans DB utama Anda gagal ke replika siaga yang dikaitkan dengan tabel rute berbeda, lalu lintas mungkin tidak dirutekan dengan benar. Meskipun lalu lintas tersebut sebelumnya dirutekan tanpa masalah, lalu lintas tersebut mungkin tidak lagi dirutekan dengan benar

Untuk informasi selengkapnya tentang mengonfigurasi tabel rute, lihat. Untuk informasi tambahan tentang penerapan Multi-AZ, lihat penerapan Multi-AZ untuk ketersediaan tinggi

Catatan. Jika Anda dapat terhubung ke instans DB Anda tetapi Anda mendapatkan kesalahan autentikasi, lihat Bagaimana cara mereset kata sandi pengguna utama untuk instans DB RDS saya?

Verifikasi konektivitas

Verifikasi koneksi Anda dengan menjalankan salah satu dari perintah ini

telnet  
nc -zv  

Jika perintah telnet atau nc berhasil, maka koneksi jaringan dibuat. Ini berarti bahwa masalah tersebut kemungkinan disebabkan oleh autentikasi pengguna ke database, seperti nama pengguna dan kata sandi

Bagaimana cara memperbaiki koneksi MySQL ditolak?

Periksa apakah nama pengguna DB, kata sandi DB, host database, dan port database sudah benar . (jika Anda tidak yakin, hubungi administrator basis data Anda atau periksa akun hosting web Anda untuk kredensial terkini). Jika file konfigurasi mereferensikan host = "localhost" , Anda dapat mencoba mengubahnya menjadi 127. 0.

Bagaimana cara memeriksa apakah MySQL dapat dijangkau di port 3306?

Cara yang benar adalah menggunakan. sudo lsof -i. 3306 .

Bagaimana cara mengaktifkan koneksi MySQL?

Cara Mengizinkan Koneksi Jarak Jauh ke MySQL .
Langkah 1. Edit File Konfigurasi MySQL
Langkah 2. Siapkan Firewall untuk Mengizinkan Koneksi MySQL Jarak Jauh. Pilihan 1. Opsi UFW (Firewall Tidak Rumit) 2. FirewallD. Opsi 3. Buka Port 3306 dengan iptables
Langkah 3. Hubungkan ke Server MySQL Jarak Jauh

Bagaimana cara memperbaiki gagal terhubung ke MySQL terlalu banyak koneksi?

Solusi .
Identifikasi nilai variabel max_connections. mysql --user="root" --password="PASSWORD" --execute='TAMPILKAN VARIABEL SEPERTI "max_connections";.
Gunakan editor teks favorit Anda untuk mengubah /etc/mysql/my. cnf dan tetapkan nilai berikut. max_connections = 500. .
Mulai ulang layanan MySQL dan untuk menerapkan perubahan