Saya memiliki mailserver yang dikonfigurasi menggunakan dovecot+postfix+mysql dan berjalan dengan baik di server (Ubuntu Server). Tetapi selama minggu lalu itu berhenti bekerja dengan benar. Tidak bisa mengirim email. Ketika saya mencoba telnet localhost smtp
, saya berhasil terhubung tetapi ketika saya melakukan mail from:<[email protected]>
dan menekan Enter, email itu hang, tidak terjadi apa-apa.
Setelah meninjau file /var/log/mail.log
, saya menemukan bahwa mungkin (99%) masalahnya ada pada postfix ketika mencoba untuk terhubung ke server MySQL. Jika Anda melihat file log yang diberikan di bawah ini, Anda dapat melihat bahwa dikatakan Tidak dapat terhubung ke server MySQL lokal melalui soket '/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
Saya mencoba netstat -ln | grep mysql
dan hasilnya
unix 2 [ ACC ] STREAM LISTENING 5817 /var/run/mysqld/mysqld.sock
.
Isi berkas /etc/postfix/mysql-virtual-alias-maps.cf
ada di sini:
user = stevejobs
password = apple
hosts = localhost
dbname = mailserver
query = SELECT destination FROM virtual_aliases WHERE source='%s'
Di sini saya mencoba mengubah hosts = 127.0.0.1
tetapi dikatakan warning: connect to mysql server 127.0.0.1: Can't connect to MySQL server on '127.0.0.1' (110)
Jadi, saya tersesat dan tidak tahu di mana lagi yang harus diubah untuk menyelesaikan masalah. Bantuan apa pun akan sangat dihargai.
Terima kasih.
EDIT 1
Ketika saya melakukan netstat -na, saya melihat bahwa mysql tidak mengikat baik ke localhost maupun ke 127.0.0.1. Mungkinkah itu juga masalahnya?
bakhtiyor@ns1:~$ netstat -na | grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
Kelihatannya sangat bodoh tetapi saya telah memecahkan masalahnya. Saya tidak menyadari bahwa administrator sistem entah bagaimana memblokir port 3306 untuk semua host di firewall, dan oleh karena itu saya tidak dapat terhubung ke mysql. Setelah menghapus pembatasan itu, saya dapat terhubung ke mysql tanpa masalah. Terima kasih atas saran dan bantuan Anda.
Sudahkah Anda mencoba menyambung ke server Mysql?
mysql -u username -p
Juga, Anda dapat mencoba mengubah alamat listen di /etc/mysql/my.cnf ke 127.0.0.1 dan restart MySQL
# /etc/mysql/my.cnf
bind-address = 127.0.0.1