Kesalahan 2003 (hy000 tidak dapat terhubung ke server mysql di rds amazonaws com 110)

Tutorial ini dimaksudkan untuk menjelaskan langkah-langkah yang diperlukan untuk memecahkan masalah “ERROR 2003 (HY000). Tidak dapat terhubung ke server MySQL pada '127. 0. 0. 1’ (111)” yang mungkin terjadi saat Anda mencoba mengakses server database MySQL

Sebelum melangkah lebih jauh, jika Anda adalah pengguna Linux yang baru mengenal MySQL/MariaDB, maka Anda dapat mempertimbangkan untuk mempelajari MySQL / MariaDB untuk Pemula – Bagian 1 dan 20 Perintah MySQL (Mysqladmin) untuk Administrasi Database di Linux juga

Di sisi lain, jika Anda sudah menjadi pengguna MySQL tingkat menengah/berpengalaman, Anda dapat menguasai 15 Tip Penyesuaian dan Pengoptimalan Kinerja MySQL/MariaDB yang Berguna ini

Catatan. Untuk tutorial ini, diasumsikan bahwa Anda telah menginstal server database mysql

Kembali ke titik fokus, apa saja kemungkinan penyebab kesalahan ini?

  1. Kegagalan jaringan terutama jika server database mysql berjalan di host jarak jauh
  2. Tidak ada server mysql yang berjalan di host yang disebutkan
  3. Firewall memblokir koneksi TCP-IP atau alasan terkait lainnya

Di bawah ini adalah langkah-langkah penting untuk menghadapinya

1. Jika server basis data berada di mesin jarak jauh, cobalah untuk menguji konektivitas server-klien menggunakan perintah ping, misalnya

$ ping server_ip_address
Kesalahan 2003 (hy000 tidak dapat terhubung ke server mysql di rds amazonaws com 110)
Kesalahan 2003 (hy000 tidak dapat terhubung ke server mysql di rds amazonaws com 110)
Mesin Host Ping

Setelah ada konektivitas, gunakan perintah

$ ps -Af | grep mysqld
0 di bawah ini yang menunjukkan informasi tentang pemilihan proses aktif, bersama dengan perintah
$ ps -Af | grep mysqld
1 dan grep, untuk memeriksa apakah daemon mysql berjalan di sistem Anda

$ ps -Af | grep mysqld
_

dimana pilihan

  1. $ ps -Af | grep mysqld
    
    _2 – mengaktifkan pemilihan semua proses
  2. $ ps -Af | grep mysqld
    
    _3 – mengaktifkan daftar format lengkap
Kesalahan 2003 (hy000 tidak dapat terhubung ke server mysql di rds amazonaws com 110)
Kesalahan 2003 (hy000 tidak dapat terhubung ke server mysql di rds amazonaws com 110)
Periksa Proses MySQL

Jika tidak ada output dari perintah sebelumnya, mulai layanan mysql sebagai berikut

$ sudo systemctl start mysql.service
$ sudo systemctl start mariadb.service
OR
# sudo /etc/init.d/mysqld start
_

Setelah memulai layanan mysql, coba akses server database

$ mysql -u username -p -h host_address  

2. Jika Anda masih mendapatkan kesalahan yang sama, tentukan port (defaultnya adalah 3306) tempat daemon mysql mendengarkan dengan menjalankan perintah netstat

$ netstat -lnp | grep mysql
_

dimana pilihan

  1. $ ps -Af | grep mysqld
    
    _4 – menampilkan port mendengarkan
  2. $ ps -Af | grep mysqld
    
    _5 – memungkinkan tampilan alamat numerik
  3. $ ps -Af | grep mysqld
    
    _6 – menunjukkan PID dan nama program yang memiliki soket
Kesalahan 2003 (hy000 tidak dapat terhubung ke server mysql di rds amazonaws com 110)
Kesalahan 2003 (hy000 tidak dapat terhubung ke server mysql di rds amazonaws com 110)
Temukan Nomor Port MySQL

Oleh karena itu gunakan opsi

$ ps -Af | grep mysqld
_7 untuk menentukan port yang Anda lihat dari output di atas saat mengakses server database

$ mysql -u username -p -h host_address -P port

3. Jika semua perintah di atas berhasil dijalankan, tetapi Anda masih melihat kesalahan, buka file konfigurasi mysql

$ vi /etc/mysql/my.cnf
OR
$ vi /etc/mysql/mysql.conf.d/mysqld.cnf 

Cari baris di bawah ini dan beri komentar menggunakan karakter

$ ps -Af | grep mysqld
8

bind-address = 127.0.0.1 

Simpan file dan keluar, setelah itu restart layanan mysql seperti itu

$ sudo systemctl start mysql.service
$ sudo systemctl start mariadb.service
OR
# sudo /etc/init.d/mysqld start
_

Namun, jika Anda menjalankan firewallD atau Iptables, coba tinjau layanan firewall dan buka port mysql, dengan asumsi firewall memblokir koneksi TCP-IP ke server mysql Anda

Itu saja. Apakah Anda tahu metode lain atau punya saran untuk mengatasi kesalahan koneksi MySQL di atas?

Sebelum Anda dapat terhubung ke instans DB yang menjalankan mesin database MySQL, Anda harus membuat instans DB. Untuk informasi, lihat Membuat instans DB Amazon RDS. Setelah Amazon RDS menyediakan instans DB Anda, Anda dapat menggunakan aplikasi atau utilitas klien MySQL standar apa pun untuk terhubung ke instans. Dalam string koneksi, Anda menentukan alamat DNS dari titik akhir instans DB sebagai parameter host, dan menentukan nomor port dari titik akhir instans DB sebagai parameter port

Untuk mengautentikasi ke instans DB RDS, Anda dapat menggunakan salah satu metode autentikasi untuk autentikasi database MySQL dan Amazon Identity and Access Management (IAM)

Anda dapat terhubung ke instans DB MySQL dengan menggunakan alat seperti klien baris perintah MySQL. Untuk informasi lebih lanjut tentang penggunaan klien baris perintah MySQL, lihat mysql - klien baris perintah MySQL dalam dokumentasi MySQL. Salah satu aplikasi berbasis GUI yang bisa Anda gunakan untuk terhubung adalah MySQL Workbench. Untuk informasi lebih lanjut, lihat halaman Download MySQL Workbench. Untuk informasi tentang penginstalan MySQL (termasuk klien baris perintah MySQL), lihat Menginstal dan memutakhirkan MySQL

Sebagian besar distribusi Linux menyertakan klien MariaDB, bukan klien Oracle MySQL. Untuk menginstal klien baris perintah MySQL di sebagian besar distribusi Linux berbasis RPM, termasuk Amazon Linux 2, jalankan perintah berikut

yum install mariadb

Untuk menginstal klien baris perintah MySQL di sebagian besar distribusi Linux berbasis DEB, jalankan perintah berikut

apt-get install mariadb-client

Untuk memeriksa versi klien baris perintah MySQL Anda, jalankan perintah berikut

mysql --version

Untuk membaca dokumentasi MySQL untuk versi klien Anda saat ini, jalankan perintah berikut

man mysql

Untuk terhubung ke instans DB dari luar Amazon VPC-nya, instans DB harus dapat diakses secara publik, akses harus diberikan menggunakan aturan masuk dari grup keamanan instans DB, dan persyaratan lainnya harus dipenuhi. Untuk informasi lebih lanjut, lihat

Anda dapat menggunakan enkripsi Secure Sockets Layer (SSL) atau Transport Layer Security (TLS) pada koneksi ke instans MySQL DB. Untuk informasi, lihat. Jika Anda menggunakan autentikasi database Amazon Identity and Access Management (IAM), pastikan untuk menggunakan koneksi SSL/TLS. Untuk informasi, lihat autentikasi database IAM untuk MariaDB, MySQL, dan PostgreSQL

Anda juga dapat terhubung ke instans DB dari server web. Untuk informasi lebih lanjut, lihat Tutorial. Buat server web dan instans DB Amazon RDS

Menemukan informasi koneksi untuk instance MySQL DB

Informasi koneksi untuk instans DB mencakup titik akhir, port, dan pengguna database yang valid, seperti pengguna master. Misalnya, nilai titik akhir adalah mydb.123456789012.us-east-1.rds.amazonaws.com. Dalam hal ini, nilai port adalah

apt-get install mariadb-client
0, dan pengguna database adalah
apt-get install mariadb-client
1. Dengan adanya informasi ini, Anda menentukan nilai berikut dalam string koneksi

  • Untuk host atau nama host atau nama DNS, tentukan mydb.123456789012.us-east-1.rds.amazonaws.com

  • Untuk port, tentukan

    apt-get install mariadb-client
    0

  • Untuk pengguna, tentukan

    apt-get install mariadb-client
    1

Untuk terhubung ke instans DB, gunakan klien apa pun untuk mesin MySQL DB. Misalnya, Anda mungkin menggunakan klien baris perintah MySQL atau MySQL Workbench

Untuk menemukan informasi koneksi untuk instans DB, Anda dapat menggunakan Amazon Web Services Management Console, perintah Amazon CLI explain-db-instances, atau operasi ExplainDBInstances API Amazon RDS untuk membuat daftar detailnya

Untuk menemukan informasi koneksi untuk instans DB di Konsol Manajemen Layanan Web Amazon

  1. Masuk ke Konsol Manajemen Layanan Web Amazon dan buka konsol Amazon RDS di https. //menghibur. amazonaw. cn/rds/

  2. Di panel navigasi, pilih Database untuk menampilkan daftar instans DB Anda

  3. Pilih nama instans MySQL DB untuk menampilkan detailnya

  4. Pada tab Konektivitas & keamanan, salin titik akhir. Perhatikan juga nomor port. Anda memerlukan titik akhir dan nomor port untuk terhubung ke instans DB

    Kesalahan 2003 (hy000 tidak dapat terhubung ke server mysql di rds amazonaws com 110)

  5. Jika Anda perlu menemukan nama pengguna master, pilih tab Konfigurasi dan lihat nilai nama pengguna Master

Untuk menemukan informasi koneksi untuk instans DB MySQL dengan menggunakan Amazon CLI, panggil perintah explain-db-instances. Dalam panggilan, kueri ID instans DB, titik akhir, port, dan nama pengguna utama

Untuk Linux, macOS, atau Unix

aws rds describe-db-instances \
  --filters "Name=engine,Values=mysql" \
  --query "*[].[DBInstanceIdentifier,Endpoint.Address,Endpoint.Port,MasterUsername]"

Untuk Windows

aws rds describe-db-instances ^
  --filters "Name=engine,Values=mysql" ^
  --query "*[].[DBInstanceIdentifier,Endpoint.Address,Endpoint.Port,MasterUsername]"

Output Anda harus serupa dengan yang berikut ini

[
    [
        "mydb1",
        "mydb1.123456789012.us-east-1.rds.amazonaws.com",
        3306,
        "admin"
    ],
    [
        "mydb2",
        "mydb2.123456789012.us-east-1.rds.amazonaws.com",
        3306,
        "admin"
    ]
]

Untuk menemukan informasi koneksi untuk instans DB menggunakan Amazon RDS API, panggil operasi ExplainDBInstances. Di output, temukan nilai untuk alamat titik akhir, port titik akhir, dan nama pengguna utama

Menghubungkan dari klien baris perintah MySQL (tidak terenkripsi)

Hanya gunakan koneksi MySQL yang tidak terenkripsi ketika klien dan server berada di VPC yang sama dan jaringan dipercaya. Untuk informasi tentang penggunaan koneksi terenkripsi, lihat

Untuk terhubung ke instans DB menggunakan klien baris perintah MySQL, masukkan perintah berikut pada prompt perintah. Untuk parameter -h, gantikan nama DNS (titik akhir) untuk instans DB Anda. Untuk parameter -P, gantikan port dengan instans DB Anda. Untuk parameter -u, gantikan nama pengguna dari pengguna basis data yang valid, seperti pengguna master. Masukkan kata sandi pengguna utama saat diminta

mysql -h mysql–instance1.123456789012.us-east-1.rds.amazonaws.com -P 3306 -u mymasteruser -p

Setelah Anda memasukkan kata sandi untuk pengguna, Anda akan melihat keluaran yang mirip dengan berikut ini

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9738
Server version: 8.0.23 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

Menghubungkan dari MySQL Workbench

Untuk terhubung dari MySQL Workbench

  1. Unduh dan instal MySQL Workbench di Download MySQL Workbench

  2. Buka Meja Kerja MySQL

    Kesalahan 2003 (hy000 tidak dapat terhubung ke server mysql di rds amazonaws com 110)

  3. Dari Database, pilih Kelola Koneksi

  4. Di jendela Kelola Koneksi Server, pilih Baru

  5. Di jendela Connect to Database, masukkan informasi berikut

    • Koneksi Tersimpan – Masukkan nama untuk koneksi, seperti

      apt-get install mariadb-client
      5

    • Hostname – Masukkan titik akhir instans DB

    • Port – Masukkan port yang digunakan oleh instans DB

    • Nama pengguna – Masukkan nama pengguna dari pengguna basis data yang valid, seperti pengguna master

    • Kata Sandi – Secara opsional, pilih Simpan di Vault lalu masukkan dan simpan kata sandi untuk pengguna

    Jendela terlihat mirip dengan yang berikut ini

    Kesalahan 2003 (hy000 tidak dapat terhubung ke server mysql di rds amazonaws com 110)

    Anda dapat menggunakan fitur MySQL Workbench untuk menyesuaikan koneksi. Misalnya, Anda dapat menggunakan tab SSL untuk mengonfigurasi koneksi SSL/TLS. Untuk informasi tentang penggunaan MySQL Workbench, lihat dokumentasi MySQL Workbench. Mengenkripsi koneksi klien ke instans MySQL DB dengan SSL/TLS, lihat Mengenkripsi koneksi klien ke instans MySQL DB dengan SSL/TLS

  6. Secara opsional, pilih Test Connection untuk mengonfirmasi bahwa koneksi ke instans DB berhasil

  7. Pilih Tutup

  8. Dari Database, pilih Hubungkan ke Database

  9. Dari Koneksi Tersimpan, pilih koneksi Anda

  10. Pilih Oke

Menghubungkan dengan Driver JDBC Layanan Web Amazon untuk MySQL

Driver Amazon JDBC untuk MySQL adalah driver klien yang dirancang untuk RDS untuk MySQL. Secara default, driver memiliki pengaturan yang dioptimalkan untuk digunakan dengan RDS untuk MySQL. Untuk informasi selengkapnya tentang driver dan petunjuk lengkap untuk menggunakannya, lihat Amazon JDBC Driver untuk repositori MySQL GitHub

Driver ini kompatibel dengan driver MySQL Connector/J. Untuk memasang atau memutakhirkan konektor Anda, ganti konektor MySQL. jar (terletak di aplikasi CLASSPATH) dengan Amazon JDBC Driver for MySQL. jar, dan perbarui awalan URL koneksi dari

apt-get install mariadb-client
6 ke
apt-get install mariadb-client
7

Driver Amazon JDBC untuk MySQL mendukung autentikasi database IAM. Untuk informasi selengkapnya, lihat di Amazon JDBC Driver untuk repositori MySQL GitHub. Untuk informasi selengkapnya tentang autentikasi database IAM, lihat autentikasi database IAM untuk MariaDB, MySQL, dan PostgreSQL

Memecahkan masalah koneksi ke instans DB MySQL Anda

Dua penyebab umum kegagalan koneksi ke instans DB baru adalah

  • Instans DB dibuat menggunakan port default 3306, dan perusahaan Anda memiliki aturan firewall yang memblokir koneksi ke port tersebut dari perangkat di jaringan perusahaan Anda. Untuk memperbaiki kegagalan ini, buat ulang instance dengan port yang berbeda

    Apa itu kesalahan 2003 hy000 di Amazon RDS?

    Kesalahan ini menyatakan bahwa lalu lintas masuk/keluar dari instance AWS tidak dapat dijangkau oleh host saat ini tempat klien MySQL berjalan . Jadi, pertama-tama, pengguna perlu mendaftarkan alamat IP publik di grup keamanan RDS untuk mendapatkan akses melalui instans MySQL RDS.

    Bagaimana cara memperbaiki kesalahan MySQL 2003?

    Kesalahan (2003) Tidak dapat terhubung ke server MySQL di ' server ' (10061) menunjukkan bahwa koneksi jaringan telah ditolak. Anda harus memeriksa apakah ada server MySQL yang berjalan, apakah koneksi jaringannya diaktifkan, dan apakah port jaringan yang Anda tentukan adalah yang dikonfigurasi di server .

    Bagaimana cara mengatasi masalah saat menghubungkan ke instans DB Amazon RDS saya?

    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

    Bagaimana cara memperbaiki kesalahan koneksi MySQL?

    Beberapa solusi permanen adalah. .
    Tentukan apa yang salah dengan server DNS Anda dan perbaiki
    Tentukan alamat IP daripada nama host di tabel hibah MySQL
    Masukkan entri untuk nama mesin klien di /etc/hosts di Unix atau \windows\hosts di Windows
    Mulai mysqld dengan variabel sistem skip_name_resolve diaktifkan