Yerel MySQL sunucusuna '/var/run/mysqld/mysqld.sock' soketi ile bağlanamıyor (2)


9

Dovecot + postfix + mysql kullanarak yapılandırma sunucusu var ve sunucuda (Ubuntu Server) runnig ince oldu. Ancak geçen hafta boyunca düzgün çalışmayı bıraktı. E-posta göndermiyor. telnet localhost smtpBaşarıyla bağlanmaya çalıştığımda ama mail from:<steve@example.com>Enter'a bastığımda Enter'a bastığımda hiçbir şey olmuyor.

/var/log/mail.logDosyayı inceledikten sonra , MySQL sunucusuna bağlanmaya çalışırken muhtemelen (% 99) sorunun postfix'te olduğunu öğrendim. Aşağıda verilen günlük dosyasını görürseniz, bunun yazdığını görebilirsiniz Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2).

Nov 14 21:54:36 ns1 dovecot: dovecot: Killed with signal 15 (by pid=7731 uid=0 code=kill)
Nov 14 21:54:36 ns1 dovecot: Dovecot v1.2.9 starting up (core dumps disabled)
Nov 14 21:54:36 ns1 dovecot: auth-worker(default): mysql: Connected to localhost (mailserver)
Nov 14 21:54:44 ns1 postfix/postfix-script[7753]: refreshing the Postfix mail system
Nov 14 21:54:44 ns1 postfix/master[1670]: reload -- version 2.7.0, configuration /etc/postfix
Nov 14 21:54:52 ns1 postfix/trivial-rewrite[7759]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Nov 14 21:54:52 ns1 postfix/trivial-rewrite[7759]: fatal: mysql:/etc/postfix/mysql-virtual-alias-maps.cf(0,lock|fold_fix): table lookup problem
Nov 14 21:54:53 ns1 postfix/master[1670]: warning: process /usr/lib/postfix/trivial-rewrite pid 7759 exit status 1
Nov 14 21:54:53 ns1 postfix/cleanup[7397]: warning: problem talking to service rewrite: Connection reset by peer
Nov 14 21:54:53 ns1 postfix/master[1670]: warning: /usr/lib/postfix/trivial-rewrite: bad command startup -- throttling
Nov 14 21:54:53 ns1 postfix/smtpd[7071]: warning: problem talking to service rewrite: Success

Denedim netstat -ln | grep mysqlve geri döndü

unix 2 [ ACC ] STREAM LISTENING 5817 /var/run/mysqld/mysqld.sock.

/etc/postfix/mysql-virtual-alias-maps.cfDosyanın içeriği burada:

user = stevejobs
password = apple
hosts = localhost
dbname = mailserver
query = SELECT destination FROM virtual_aliases WHERE source='%s'

Burada değişmeye çalıştım hosts = 127.0.0.1ama diyor kiwarning: connect to mysql server 127.0.0.1: Can't connect to MySQL server on '127.0.0.1' (110)

Yani, kayboldum ve sorunu çözmek için başka nerede değişeceğini bilmiyorum. Herhangi bir yardım çok takdir edilecektir.

Teşekkür ederim.

DÜZENLEME 1

Ne zaman netstat -na yapmak mysql ne localhost ne de 127.0.0.1 bağlı olmadığını görüyorum. Sorun da olabilir mi?

bakhtiyor@ns1:~$ netstat -na | grep 3306
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN   

Yanıtlar:


6

Çok aptalca gözüküyor ama sorunu çözdüm. Bir sistem yöneticisinin güvenlik duvarındaki tüm ana bilgisayarlar için bir şekilde 3306 bağlantı noktasını engellediğini fark etmedim ve bu nedenle mysql'ye bağlanamadım. Bu kısıtlamayı kaldırdıktan sonra herhangi bir sorun olmadan mysql'e bağlanabildim. Önerileriniz ve yardımınız için teşekkürler.


1
Kısıtlama nasıl kaldırılır?
Yeşil

TCP üzerinden bağlanmak istiyorum, soketle değil. Bunu nasıl yapabilirim? Teşekkürler.
krisanalfa

Merhaba @ Yeşil, herhangi bir çözüm u kısıtlamayı kaldırmak için var ya da daha doğrusu nasıl bağlantı noktası 3306 kısıtlama olup olmadığını bulmak için?
Sushivam

3

Benzer bir sorun yaşadım. "Hosts = localhost" ifadesini "hosts = 127.0.0.1" olarak değiştirmek ve bağlama adresini aynı adrese ayarlamak benim için düzeltti (bağlama adresi bir nedenle 0.0.0.0 olarak ayarlandı)


Bağlama adresini 0.0.0.0 olarak bırakabildim (galera ile yaptığım kümeleme için gerekliydi) ve TCP'yi değiştirmek için "host = 127.0.0.1: 3306" yı değiştirdim. Başkalarının yaptığı gibi soketi Postfix krokesine bağlamak yerine buna karar verdim.
Sean Reifschneider

3

Mysql sunucusuna bağlanmaya çalıştınız mı?

mysql -u username -p

Ayrıca, /etc/mysql/my.cnf içindeki dinleme adresini 127.0.0.1 olarak değiştirmeyi ve MySQL'i yeniden başlatmayı deneyebilirsiniz

# /etc/mysql/my.cnf
bind-address = 127.0.0.1

Söylediğin her şeyi yaptım ve sonuç yok
11:28

Yani mysql kullanarak mysql bağlayabilirsiniz -u kullanıcı adı -p
9:07

"
My.cnf

2

Aynı hatayı şirket bilgisayarlarından birinde alıyordum.

Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Ben ssh ile X-windows programları çalıştırmak için çalışırken de bu hatayı çok alıyordu:

GConf Error: Failed to contact configuration server; 
some possible causes are that you need to enable TCP/IP networking for ORBit,
or you have stale NFS locks due to a system crash

Tamamen doldurulmuş, boş disk alanı olmayan bir kök dosya sistemim var, bu yüzden sistemim çok fazla gerekli dosya yazamadı. Birçok farklı programla ilgili her türlü hatayı alıyordum. (GDM ile giriş yapılamadı, GDM duvar kağıdı karardı, gconf kilit dosyası hataları, vb ...)

Tek yaptığım, kök bölümdeki artık gerekli olmayan 400 MB değerinden fazla dosyadan kurtulmak için bu basit komutu girmekti.

sudo apt-get autoremove

Bu, kök dosya sistemime ihtiyaç duyduğu nefes alanını verdi. Şimdi her şey harika gidiyor. 10 GB'lık bir kök dizinin iki yıllık Ubuntu güncellemelerini işlemek için yeterli olmadığını tahmin edin.

Herhangi biri umursarsa, sistem ortaya çıktığından beri Ubuntu 10.04 çalıştırıyor. Sistem haftada en az bir kez güncellenir. Bugünün tarihi 9-6-2012, bu yüzden neredeyse 2 1/2 yıllık güncelleme.


Sorununuz boşluk olduğunda, ayrıca askubuntu.com/questions/17432/…
ecoologic

Uzay sorununa işaret etmek için +1 - bu sorunumu çözdü.
yuval

1

Nihayet bana yardımcı oldu (kaldırma değil!) Mysql ile ilgili tüm apt-get paketleri kaldırma dışında libmysqlclient16durumu (hariç ne olduğunu emin) hariç .

Yani, sadece şunu yapın:

dpkg --get-selections | grep mysql

ve sonra:

sudo apt-get purge <package_name>

Genelden başlayın, sonra istemciye ve sonra sunucuya gidin.


Bu cevabın yararlı olduğunu düşünmüyorum. Sorun bloke 3306 portu, bozuk MySQL paketleriydi.
Nefente

BU KOMUT HERHANGİ BİR PAKETİlibmysqlclientXX
KALDIRACAK

3306 bloke portu nasıl bulunur?
Sushivam
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.