Betulkan Ralat 2003 (HY000) tidak dapat menyambung ke MySQL Server pada '127.0.0.1 '(111)

Betulkan Ralat 2003 (HY000) tidak dapat menyambung ke MySQL Server pada '127.0.0.1 '(111)

Tutorial ini bertujuan untuk menerangkan langkah -langkah yang diperlukan untuk menyelesaikan "Ralat 2003 (HY000): Tidak dapat menyambung ke MySQL Server pada '127.0.0.1 '(111)"Yang mungkin berlaku apabila anda cuba mengakses pelayan pangkalan data MySQL.

Sebelum bergerak lagi, jika anda adalah pengguna Linux yang baru MySQL/MariaDB, Kemudian anda boleh mempertimbangkan untuk belajar MySQL / MariaDB untuk pemula - Bahagian 1 dan 20 MySQL (MySQLadmin) Perintah untuk Pentadbiran Pangkalan Data di Linux juga.

Sebaliknya, jika anda sudah menjadi pengguna MySQL pertengahan/berpengalaman, anda boleh menguasai 15 penalaan prestasi dan pengoptimuman prestasi MySQL/Mariadb ini.

Catatan: Untuk tutorial ini, diandaikan bahawa anda telah memasang pelayan pangkalan data MySQL.

Kembali ke titik fokus, apakah kemungkinan penyebab kesilapan ini?

  1. Kegagalan Rangkaian Terutama Sekiranya Pelayan Pangkalan Data MySQL berjalan pada hos jauh.
  2. Tidak ada pelayan mysql yang berjalan pada tuan rumah yang disebutkan.
  3. Firewall menyekat sambungan TCP-IP atau sebab-sebab lain yang berkaitan.

Berikut adalah langkah penting untuk mengatasinya.

1. Sekiranya pelayan pangkalan data berada di mesin jauh, maka cuba menguji sambungan pelanggan-pelayan menggunakan ping Perintah, contohnya:

$ ping server_ip_address 
Mesin tuan rumah ping

Setelah ada sambungan, gunakan ps arahan di bawah yang menunjukkan maklumat mengenai pemilihan proses aktif, bersama -sama dengan a paip dan perintah grep, untuk memeriksa bahawa daemon mysql berjalan pada sistem anda.

$ ps -af | grep mysqld 

di mana pilihannya:

  1. -A - mengaktifkan pemilihan semua proses
  2. -f - membolehkan penyenaraian format penuh
Semak proses MySQL

Sekiranya tiada output dari arahan sebelumnya, mulakan perkhidmatan MySQL seperti berikut:

$ sudo Systemctl Mula Mysql.Perkhidmatan $ sudo Systemctl Mula MariaDB.perkhidmatan atau # sudo /etc /init.D/Mysqld Permulaan 

Selepas memulakan perkhidmatan MySQL, cuba mengakses pelayan pangkalan data:

$ mysql -u username -p -h host_address 

2. Sekiranya anda masih mendapat ralat yang sama, maka tentukan port (lalai adalah 3306) di mana daemon mysql mendengar dengan menjalankan perintah netstat.

$ netstat -lnp | grep mysql 

di mana pilihan:

  1. -L - Memaparkan pelabuhan mendengar
  2. -n - membolehkan paparan alamat berangka
  3. -p - Menunjukkan PID dan nama program yang memiliki soket
Cari nombor port mysql

Oleh itu gunakan -P Pilihan untuk menentukan port yang anda lihat dari output di atas semasa mengakses pelayan pangkalan data:

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

3. Sekiranya semua arahan di atas berjalan dengan jayanya, tetapi anda masih melihat ralat, buka fail konfigurasi mysql.

$ vi/etc/mysql/my.CNF atau $ VI/ETC/MYSQL/MYSQL.Conf.D/mysqld.cnf 

Cari garis di bawah dan komennya menggunakan # watak:

Bind-Address = 127.0.0.1 

Simpan fail dan keluar, kemudian mulakan semula perkhidmatan MySQL seperti SO:

$ sudo Systemctl Mula Mysql.Perkhidmatan $ sudo Systemctl Mula MariaDB.perkhidmatan atau # sudo /etc /init.D/Mysqld Permulaan 

Walau bagaimanapun, jika anda mempunyai firewalld atau iptables berjalan cuba mengkaji semula perkhidmatan firewall dan membuka port MySQL, dengan anggapan ia menyekat sambungan TCP-IP ke pelayan MySQL anda.

Itu sahaja! Adakah anda tahu kaedah lain atau mempunyai cadangan untuk menyelesaikan ralat sambungan MySQL di atas? Beritahu kami dengan menjatuhkan komen melalui borang maklum balas di bawah.