ฉันมี mailserver กำหนดค่าโดยใช้dovecot + postfix + mysqlและมันก็ทำงานได้ดีในเซิร์ฟเวอร์ (เซิร์ฟเวอร์ Ubuntu) แต่ในช่วงสัปดาห์ที่แล้วหยุดทำงานอย่างถูกต้อง มันไม่ได้ส่งอีเมล เมื่อฉันพยายามtelnet localhost smtp
เชื่อมต่อสำเร็จ แต่เมื่อฉันmail from:<steve@example.com>
กด Enter มันจะหยุดทำงานไม่มีอะไรเกิดขึ้น
หลังจากตรวจสอบ/var/log/mail.log
ไฟล์ฉันพบว่าอาจ (99%) ปัญหาอยู่ที่ postfix เมื่อพยายามเชื่อมต่อกับเซิร์ฟเวอร์ MySQL 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
ฉันพยายามnetstat -ln | grep mysql
แล้วก็กลับมา
unix 2 [ ACC ] STREAM LISTENING 5817 /var/run/mysqld/mysqld.sock
.
เนื้อหาของ/etc/postfix/mysql-virtual-alias-maps.cf
ไฟล์อยู่ที่นี่:
user = stevejobs
password = apple
hosts = localhost
dbname = mailserver
query = SELECT destination FROM virtual_aliases WHERE source='%s'
ที่นี่ฉันพยายามเปลี่ยนhosts = 127.0.0.1
แต่มันบอกว่าwarning: connect to mysql server 127.0.0.1: Can't connect to MySQL server on '127.0.0.1' (110)
ดังนั้นฉันหลงทางและไม่รู้จะเปลี่ยนแปลงที่ไหนเพื่อแก้ไขปัญหา ความช่วยเหลือใด ๆ จะได้รับการชื่นชมอย่างมาก
ขอบคุณ.
แก้ไข 1
เมื่อฉันทำ netstat -na ฉันเห็นว่า mysql ไม่ได้ผูกไว้กับ localhost หรือ 127.0.0.1 มันอาจเป็นปัญหาหรือไม่
bakhtiyor@ns1:~$ netstat -na | grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN