He configurado el servidor de correo usando dovecot + postfix + mysql y estaba funcionando muy bien en el servidor (Ubuntu Server). Pero durante la semana pasada dejó de funcionar correctamente. No envía correos electrónicos. Cuando trato de telnet localhost smtp
conectarme con éxito, pero cuando lo hago mail from:<[email protected]>
y presiono Enter se cuelga, no pasa nada.
Después de revisar el /var/log/mail.log
archivo, descubrí que probablemente (99%) el problema está en postfix cuando intenta conectarse al servidor MySQL. Si ve el archivo de registro que figura a continuación, puede ver que dice 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
Lo intenté netstat -ln | grep mysql
y vuelve
unix 2 [ ACC ] STREAM LISTENING 5817 /var/run/mysqld/mysqld.sock
.
El contenido del /etc/postfix/mysql-virtual-alias-maps.cf
archivo está aquí:
user = stevejobs
password = apple
hosts = localhost
dbname = mailserver
query = SELECT destination FROM virtual_aliases WHERE source='%s'
Aquí intenté cambiar hosts = 127.0.0.1
pero dicewarning: connect to mysql server 127.0.0.1: Can't connect to MySQL server on '127.0.0.1' (110)
Entonces, estoy perdido y no sé dónde más cambiar para resolver el problema. Cualquier ayuda sería muy apreciada.
Gracias.
EDITAR 1
Cuando hago netstat -na veo que mysql no está vinculado ni a localhost ni a 127.0.0.1. ¿Podría ser el problema también?
bakhtiyor@ns1:~$ netstat -na | grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
Tuve un problema similar. Cambiar "hosts = localhost" a "hosts = 127.0.0.1" y configurar bind-address en la misma dirección lo arregló para mí (la dirección de enlace se estableció en 0.0.0.0 por alguna razón)
fuente
¿Has intentado conectarte al servidor Mysql?
Además, puede intentar cambiar la dirección de escucha en /etc/mysql/my.cnf a 127.0.0.1 y reiniciar MySQL
fuente
Estaba recibiendo este mismo error en una de las computadoras de la compañía.
También recibí mucho este error cuando intenté ejecutar programas de X-windows a través de ssh:
Resulta que tenía un sistema de archivos raíz que estaba completamente lleno, sin espacio libre en disco, por lo que mi sistema no podía escribir muchos archivos necesarios. Estaba recibiendo todo tipo de errores, relacionados con muchos programas diferentes. (No se pudo iniciar sesión a través de GDM, el fondo de pantalla de GDM se volvió negro, los errores del archivo de bloqueo de gconf, etc.)
Todo lo que hice fue ingresar este simple comando para eliminar más de 400 MB de archivos en la partición raíz que ya no eran necesarios.
Eso le dio a mi sistema de archivos raíz el espacio de respiración que necesitaba. Ahora todo funciona muy bien. Supongo que un directorio raíz de 10 GB no es suficiente para manejar más de dos años de actualizaciones de Ubuntu.
Si a alguien le importa, el sistema ha estado ejecutando Ubuntu 10.04 desde que salió. El sistema se actualiza al menos una vez a la semana. La fecha de hoy es 9-6-2012, por lo que son casi 2 1/2 años de actualizaciones.
fuente
Lo que finalmente me ayudó fue purgar (¡no eliminar!) Todos los paquetes apt-get relacionados con mysql, excepto el
libmysqlclient16
que estaba en estado de desinstalación (no estoy seguro de qué es eso).Entonces, solo haz:
y entonces:
Comience desde común, luego vaya al cliente y luego al servidor.
fuente
libmysqlclientXX