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?
- Kegagalan jaringan terutama jika server database mysql berjalan di host jarak jauh
- Tidak ada server mysql yang berjalan di host yang disebutkan
- 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_addressSetelah 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
- $ ps -Af | grep mysqld _2 – mengaktifkan pemilihan semua proses
- $ ps -Af | grep mysqld _3 – mengaktifkan daftar format lengkap
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_address2. 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
- $ ps -Af | grep mysqld _4 – menampilkan port mendengarkan
- $ ps -Af | grep mysqld _5 – memungkinkan tampilan alamat numerik
- $ ps -Af | grep mysqld _6 – menunjukkan PID dan nama program yang memiliki soket
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 port3. 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.cnfCari baris di bawah ini dan beri komentar menggunakan karakter $ ps -Af | grep mysqld 8
bind-address = 127.0.0.1Simpan 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 mariadbUntuk menginstal klien baris perintah MySQL di sebagian besar distribusi Linux berbasis DEB, jalankan perintah berikut
apt-get install mariadb-clientUntuk memeriksa versi klien baris perintah MySQL Anda, jalankan perintah berikut
mysql --versionUntuk membaca dokumentasi MySQL untuk versi klien Anda saat ini, jalankan perintah berikut
man mysqlUntuk 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-client0, dan pengguna database adalah apt-get install mariadb-client1. 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-client0
Untuk pengguna, tentukan apt-get install mariadb-client1
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
Masuk ke Konsol Manajemen Layanan Web Amazon dan buka konsol Amazon RDS di https. //menghibur. amazonaw. cn/rds/
Di panel navigasi, pilih Database untuk menampilkan daftar instans DB Anda
Pilih nama instans MySQL DB untuk menampilkan detailnya
Pada tab Konektivitas & keamanan, salin titik akhir. Perhatikan juga nomor port. Anda memerlukan titik akhir dan nomor port untuk terhubung ke instans DB
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 -pSetelah 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
Unduh dan instal MySQL Workbench di Download MySQL Workbench
Buka Meja Kerja MySQL
Dari Database, pilih Kelola Koneksi
Di jendela Kelola Koneksi Server, pilih Baru
Di jendela Connect to Database, masukkan informasi berikut
Koneksi Tersimpan – Masukkan nama untuk koneksi, seperti apt-get install mariadb-client5
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
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
Secara opsional, pilih Test Connection untuk mengonfirmasi bahwa koneksi ke instans DB berhasil
Pilih Tutup
Dari Database, pilih Hubungkan ke Database
Dari Koneksi Tersimpan, pilih koneksi Anda
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-client6 ke apt-get install mariadb-client7
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 AndaPastikan pengguna memiliki izin database untuk terhubung ke instans DBPeriksa pelambatan sumber daya apa pun di Amazon RDS, seperti pertengkaran CPU atau memoriBagaimana cara memperbaiki kesalahan koneksi MySQL?
Beberapa solusi permanen adalah. .Tentukan apa yang salah dengan server DNS Anda dan perbaikiTentukan alamat IP daripada nama host di tabel hibah MySQLMasukkan entri untuk nama mesin klien di /etc/hosts di Unix atau \windows\hosts di WindowsMulai mysqld dengan variabel sistem skip_name_resolve diaktifkan