Tôi có cấu hình mailserver bằng cách sử dụng dovecot + postfix + mysql và nó đã chạy tốt trong máy chủ (Ubuntu Server). Nhưng trong tuần trước nó đã ngừng hoạt động chính xác. Nó không gửi email. Khi tôi cố gắng telnet localhost smtp
kết nối thành công nhưng khi tôi thực hiện mail from:<steve@example.com>
và nhấn Enter thì bị treo, không có gì xảy ra.
Sau khi xem lại /var/log/mail.log
tệp tôi đã phát hiện ra rằng có lẽ (99%) vấn đề nằm ở hậu tố khi nó đang cố gắng kết nối với máy chủ MySQL. Nếu bạn thấy tệp nhật ký được cung cấp dưới đây, bạn có thể thấy nó nói 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
Tôi đã thử netstat -ln | grep mysql
và nó trở lại
unix 2 [ ACC ] STREAM LISTENING 5817 /var/run/mysqld/mysqld.sock
.
Nội dung của /etc/postfix/mysql-virtual-alias-maps.cf
tập tin ở đây:
user = stevejobs
password = apple
hosts = localhost
dbname = mailserver
query = SELECT destination FROM virtual_aliases WHERE source='%s'
Ở đây tôi đã cố gắng thay đổi hosts = 127.0.0.1
nhưng nó nóiwarning: connect to mysql server 127.0.0.1: Can't connect to MySQL server on '127.0.0.1' (110)
Vì vậy, tôi bị lạc và không biết phải thay đổi ở đâu để giải quyết vấn đề. Bất kỳ trợ giúp sẽ được đánh giá cao.
Cảm ơn bạn.
CHỈNH SỬA 1
Khi tôi thực hiện netstat -na tôi thấy rằng mysql không liên kết với localhost cũng như 127.0.0.1. Nó cũng có thể là vấn đề?
bakhtiyor@ns1:~$ netstat -na | grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN