Perbaiki: ERROR 2003 (HY000): Tidak dapat terhubung ke server MySQL di '127.0.0.1' (111)


Tutorial ini dimaksudkan untuk menjelaskan langkah-langkah yang diperlukan untuk mengatasi “ERROR 2003 (HY000): Tidak dapat terhubung ke server MySQL di '127.0.0.1' (111) ” yang mungkin terjadi saat Anda mencoba mengakses server basis data 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 Basis Data di Linux juga.

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

Catatan: Untuk tutorial ini, diasumsikan 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 pada host jarak jauh.
  2. Tidak ada server mysql yang berjalan pada host yang disebutkan.
  3. Firewall memblokir koneksi TCP-IP atau alasan terkait lainnya.

Di bawah ini adalah langkah-langkah penting untuk mengatasinya.

1. Jika server database berada pada mesin jarak jauh, cobalah menguji konektivitas klien-server menggunakan perintah ping, misalnya:

ping server_ip_address

Setelah ada konektivitas, gunakan perintah ps di bawah ini yang menampilkan informasi tentang pilihan proses yang aktif, bersama dengan perintah pipe dan grep, untuk memeriksa apakah daemon mysql berfungsi berjalan di sistem Anda.

ps -Af | grep mysqld

di mana pilihannya:

  1. -A – mengaktifkan pemilihan semua proses
  2. -f – mengaktifkan daftar format penuh

Jika tidak ada output dari perintah sebelumnya, jalankan 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) yang didengarkan daemon mysql dengan menjalankan perintah netstat.

netstat -lnp | grep mysql

di mana pilihannya:

  1. -l – menampilkan port mendengarkan
  2. -n – memungkinkan tampilan alamat numerik
  3. -p – menampilkan PID dan nama program yang memiliki soket

Oleh karena itu gunakan opsi -P 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 dan beri komentar menggunakan karakter #:

bind-address = 127.0.0.1 

Simpan file dan keluar, kemudian restart layanan mysql seperti:

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 itu adalah firewall yang memblokir koneksi TCP-IP ke server mysql Anda.

Itu saja! Apakah Anda mengetahui cara lain atau punya saran untuk mengatasi error koneksi MySQL di atas? Beri tahu kami dengan memberikan komentar melalui formulir umpan balik di bawah.