Düzeltme: HATA 2003 (HY000): '127.0.0.1'de MySQL sunucusuna bağlanılamıyor (111)


Bu eğitim, "HATA 2003 (HY000): '127.0.0.1' (111) üzerindeki MySQL sunucusuna bağlanılamıyor" sorununu çözmek için gerekli adımları açıklamayı amaçlamaktadır. MySQL veritabanı sunucusuna erişin.

Daha ileri gitmeden önce, MySQL/MariaDB'de yeni olan bir Linux kullanıcısıysanız, Yeni Başlayanlar için MySQL/MariaDB – Bölüm 1 ve 20 Veritabanı Yönetimi için MySQL (Mysqladmin) Komutlarını öğrenmeyi düşünebilirsiniz. Linux'ta da var.

Öte yandan, eğer zaten orta düzey/deneyimli bir MySQL kullanıcısıysanız, bu 15 Faydalı MySQL/MariaDB Performans Ayarlama ve Optimizasyon İpucunda uzmanlaşabilirsiniz.

Not: Bu eğitim için, MySQL veritabanı sunucusunu zaten kurduğunuz varsayılmaktadır.

Odak noktamıza dönecek olursak, bu hatanın olası nedenlerinden bazıları nelerdir?

  1. Özellikle MySQL veritabanı sunucusu uzak ana bilgisayarda çalışıyorsa ağ hatası.
  2. Bahsedilen ana bilgisayarda hiçbir mysql sunucusu çalışmıyor.
  3. Güvenlik duvarı, TCP-IP bağlantısını veya diğer ilgili nedenleri engelliyor.

Aşağıda bununla başa çıkmak için gerekli adımlar verilmiştir.

1. Veritabanı sunucusu uzak bir makinedeyse, ping komutunu kullanarak istemci-sunucu bağlantısını test etmeyi deneyin, örneğin:

ping server_ip_address

Bağlantı kurulduktan sonra, mysql arka plan programının etkin olup olmadığını kontrol etmek için, bir pipe ve grep komutuyla birlikte, etkin süreçlerin seçimiyle ilgili bilgileri gösteren aşağıdaki ps komutunu kullanın. sisteminizde çalışıyor.

ps -Af | grep mysqld

seçenek nerede:

  1. -A – tüm süreçlerin seçimini etkinleştirir
  2. -f – tam formatlı listelemeyi etkinleştirir

Önceki komutun çıktısı yoksa mysql hizmetini aşağıdaki şekilde başlatın:

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

MySQL hizmetini başlattıktan sonra veritabanı sunucusuna erişmeyi deneyin:

mysql -u username -p -h host_address  

2. Hala aynı hatayı alıyorsanız, netstat komutunu çalıştırarak mysql arka plan programının dinlediği bağlantı noktasını (varsayılan 3306) belirleyin.

netstat -lnp | grep mysql

seçenekler nerede:

  1. -l – dinleme bağlantı noktalarını görüntüler
  2. -n – sayısal adreslerin görüntülenmesini sağlar
  3. -p – soketin sahibi olan programın PID'sini ve adını gösterir

Bu nedenle veritabanı sunucusuna erişirken yukarıdaki çıktıda gördüğünüz bağlantı noktasını belirtmek için -P seçeneğini kullanın:

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

3. Yukarıdaki komutların tümü başarıyla çalışıyorsa ancak hâlâ hatayı görüyorsanız, mysql yapılandırma dosyasını açın.

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

Aşağıdaki satırı bulun ve # karakterini kullanarak yorum yapın:

bind-address = 127.0.0.1 

Dosyayı kaydedin ve çıkın, ardından mysql hizmetini şu şekilde yeniden başlatın:

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

Bununla birlikte, çalışan bir güvenlik duvarıD'niz veya Iptables'ınız varsa, güvenlik duvarı hizmetlerini gözden geçirmeyi ve mysql bağlantı noktasını açmayı deneyin; bunun, güvenlik duvarının, MySQL sunucunuza TCP-IP bağlantılarını engellediğini varsayarak.

Bu kadar! Yukarıdaki MySQL bağlantı hatasını çözmek için başka yöntemler biliyor musunuz veya önerileriniz var mı? Aşağıdaki geri bildirim formunu kullanarak yorum bırakarak bize bildirin.