Ich habe den Mailserver mit dovecot + postfix + mysql konfiguriert und er lief auf dem Server (Ubuntu Server) einwandfrei. Aber in der letzten Woche hat es nicht mehr richtig funktioniert. Es wird keine E-Mail gesendet. Wenn ich versuche, eine telnet localhost smtp
Verbindung herzustellen, aber wenn ich die mail from:<[email protected]>
Eingabetaste drücke, bleibt nichts hängen.
Nachdem /var/log/mail.log
ich die Datei überprüft habe, habe ich herausgefunden, dass das Problem wahrscheinlich (99%) bei Postfix liegt, wenn versucht wird, eine Verbindung zum MySQL-Server herzustellen. Wenn Sie die unten angegebene Protokolldatei sehen, können Sie sehen, dass dort steht 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
Ich habe es versucht netstat -ln | grep mysql
und es kehrt zurück
unix 2 [ ACC ] STREAM LISTENING 5817 /var/run/mysqld/mysqld.sock
.
Der Inhalt der /etc/postfix/mysql-virtual-alias-maps.cf
Datei ist hier:
user = stevejobs
password = apple
hosts = localhost
dbname = mailserver
query = SELECT destination FROM virtual_aliases WHERE source='%s'
Hier habe ich versucht mich zu ändern hosts = 127.0.0.1
aber es heißtwarning: connect to mysql server 127.0.0.1: Can't connect to MySQL server on '127.0.0.1' (110)
Ich bin also verloren und weiß nicht, wo ich mich sonst ändern soll, um das Problem zu lösen. Jede Hilfe wäre sehr dankbar.
Danke.
BEARBEITEN 1
Wenn ich netstat -na mache, sehe ich, dass mysql weder an localhost noch an 127.0.0.1 gebunden ist. Könnte es auch das Problem sein?
bakhtiyor@ns1:~$ netstat -na | grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
Ich hatte ein ähnliches Problem. Das Ändern von "hosts = localhost" in "hosts = 127.0.0.1" und das Setzen der Bindungsadresse auf dieselbe Adresse hat dies für mich behoben (die Bindungsadresse wurde aus irgendeinem Grund auf 0.0.0.0 festgelegt).
quelle
Haben Sie versucht, eine Verbindung zum MySQL-Server herzustellen?
Sie können auch versuchen, die Listen-Adresse in /etc/mysql/my.cnf in 127.0.0.1 zu ändern und MySQL neu zu starten
quelle
Ich habe gerade den gleichen Fehler auf einem der Firmencomputer erhalten.
Ich habe diesen Fehler auch häufig erhalten, als ich versucht habe, X-Windows-Programme über ssh auszuführen:
Es stellte sich heraus, dass ich ein Root-Dateisystem hatte, das vollständig gefüllt war und keinen freien Speicherplatz hatte, sodass mein System nicht viele erforderliche Dateien schreiben konnte. Ich bekam alle möglichen Fehler, die mit vielen verschiedenen Programmen zusammenhängen. (Konnte sich nicht über GDM anmelden, das GDM-Hintergrundbild wurde schwarz, Fehler in der Gconf-Sperrdatei usw.)
Ich habe nur diesen einfachen Befehl eingegeben, um Dateien im Wert von über 400 MB in der Root-Partition zu entfernen, die nicht mehr benötigt wurden.
Das gab meinem Root-Dateisystem die nötige Atempause. Jetzt läuft alles super. Vermutlich reicht ein 10-GB-Stammverzeichnis nicht aus, um Ubuntu-Updates im Wert von über zwei Jahren zu verarbeiten.
Wenn es jemanden interessiert, läuft auf dem System Ubuntu 10.04 seit dem Erscheinen. Das System wird mindestens einmal pro Woche aktualisiert. Das heutige Datum ist der 9-6-2012, das sind also fast 2 1/2 Jahre an Updates.
quelle
Was mir schließlich geholfen hat, war das Löschen (nicht Entfernen!) Alle apt-get-Pakete im Zusammenhang mit mysql, außer
libmysqlclient16
denen, die sich im Deinstallationsstatus befanden (nicht sicher, was das ist).Also einfach machen:
und dann:
Beginnen Sie mit common und gehen Sie dann zum Client und dann zum Server.
quelle
libmysqlclientXX