HATA 2003 (HY000): '127.0.0.1' (111) 'de MySQL sunucusuna bağlanamıyor (111, adres-adres ve atlama ağını açıklamasına rağmen)


0

Tamam, o zaman feragatname: Ben mutlak bir mysql noob. Başka herhangi bir geliştirme türü alanı ver ve ben iyiyim.

Bu yüzden Ubuntu 12.04'ü bir kurulum mysql kullanmaya başladım. Asla localhost kullanmamıştım, çünkü işte genellikle eriştiğim bir çalışma ortamı var. Ancak, bir müşterinin erişmesi gereken çok büyük bir DB dökümü vardı ve herkesin ilgilenmesi için sunucuya koymak istemedim bu yüzden localhost kullanmaya çalıştım

Ne zaman MySQL Workbench aracılığıyla erişmeye çalışırsam bir hata alıyorum, bu yüzden çevrimiçi birkaç makaleye baktım ve birkaç farklı şey denedim, ancak terminalde aşağıdaki komutu uygularsam bir hata alıyorum:

mysql -u root -p -h 127.0.0.1

Aşağıdakileri üretir

ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111)

Ancak, eğer mysql 'e şu şekilde erişirsem:

mysql -u root -p

ve daha sonra şifremi girin, mysql para cezasına erişebilirim.

İşte ne

/etc/mysql/my.cnf

şu anda içeriyor (Bu dosyanın diğer sürümlerini aramaya çalıştım). Brevity aşkına tüm yorumlanmış bitleri bıraktım.

[client] 
port            = 3306 
socket          = /var/run/mysqld/mysqld.sock

[mysqld_safe] 
socket          = /var/run/mysqld/mysqld.sock 
nice            = 0

[mysqld]
user            = mysql 
pid-file        = /var/run/mysqld/mysqld.pid 
socket          = /var/run/mysqld/mysqld.sock 
port            = 3306
basedir         = /usr 
datadir         = /var/lib/mysql 
tmpdir          = /tmp 
lc-messages-dir = /usr/share/mysql 
skip-external-locking

key_buffer              = 16M 
max_allowed_packet      = 16M
thread_stack            = 192K 
thread_cache_size       = 8

myisam-recover         = BACKUP

query_cache_limit       = 1M 
query_cache_size        = 16M

log_error = /var/log/mysql/error.log

expire_logs_days        = 10 
max_binlog_size         = 100M

[mysqldump] 
quick quote-names 
max_allowed_packet      = 16M

[mysql]

[isamchk] key_buffer              = 16M

!includedir /etc/mysql/conf.d/

Çalışan mysqldsürecin tam komut satırını ve çıktısını ekleyebilir misiniz netstat -anp | grep 3306?
Flup

Yanıtlar:


0

MySQL ile oturum açtığınızda

mysql -u root -p

lütfen bu komutu çalıştır

SELECT USER(),CURRENT_USER();

USER (), MySQL'de nasıl kimlik doğrulaması yapmaya çalıştığınızı bildirir.

CURRENT_USER (), MySQL'de nasıl kimlik doğrulamanıza izin verildiğini bildirir.

Bunu daha önce tartışmıştım: MySQL'de olduğu gibi hangi kullanıcıya giriş yaptığımı nasıl görebilirim?

Senin durumunda, benim tahminim bu CURRENT_USER () olduğu 'root'@'localhost'.

MySQL'e bağlanmanız gereken iki şey var 127.0.0.1:

  • 'root'@'127.0.0.1'Tanımlı kullanıcıya ihtiyacınız var . Yani muhtemelen bu () KULLANICI söyledi.
  • Açıkça TCP / IP protokolünü kullanmanız gerekir.

Kullanıcı oluşturmak için MySQL'e giriş yapın ve çalıştırın. SHOW GRANTS;

Yedekleme geliyor olursa olsun, kopyalama ve editör yapıştırın yerini localhostile 127.0.0.1, komuta Düzenlenen komutu mysql içine ve çalıştırmak.

Şimdi, TCP / IP kullanarak giriş yapmak için şunu yapın:

mysql -u root -p -h 127.0.0.1 --protocol=tcp

Giriş yaptıktan sonra koşun SELECT USER(),CURRENT_USER();ve farklı bir şey göreceksiniz.

Bir şans ver !!!


Mükemmel cevap. Şu anda% 100 çalıştığından emin değilim, ama çalışacağından eminim. Sadece şu anda kontrol edecek vaktim yok. Geri göndereceğim. Ayrıntılarından dolayı sana yukarı oy verdin. Güzel!!
Kyle O'Brien,



0

Aynı mysql db'ye bağlanmaya çalışırken de aynı problemi yaşadım.

Üzerinden trafiğe izin vermek için db sunucusundaki güvenlik duvarını açarak düzelttim:

sudo ufw allow mysql
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.