У меня есть почтовый сервер, настроенный с использованием dovecot + postfix + mysql, и он прекрасно работал на сервере (Ubuntu Server). Но на прошлой неделе он перестал работать правильно. Это не отправляет электронную почту. Когда я пытаюсь telnet localhost smtp
подключиться, я успешно подключаюсь, но когда я mail from:<steve@example.com>
нажимаю Enter, то ничего не происходит.
Изучив /var/log/mail.log
файл, я обнаружил, что, вероятно, (99%) проблема связана с постфиксом, когда он пытается подключиться к серверу 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
У меня была аналогичная проблема. Изменение "hosts = localhost" на "hosts = 127.0.0.1" и установка bind-адреса на тот же адрес исправили его для меня (почему-то для bind-адреса было установлено значение 0.0.0.0)
источник
Вы пытались подключиться к серверу Mysql?
Также вы можете попробовать изменить адрес прослушивания в /etc/mysql/my.cnf на 127.0.0.1 и перезапустить MySQL.
источник
Я только что получил эту же ошибку на одном из компьютеров компании.
Я также часто получал эту ошибку, когда пытался запускать программы X-windows через ssh:
Оказывается, у меня была корневая файловая система, которая была полностью заполнена без свободного места на диске, поэтому моя система не могла записать много необходимых файлов. Я получал все виды ошибок, связанных со многими различными программами. (Не удалось войти через GDM, обои GDM стали черными, ошибки файла блокировки gconf и т. Д ...)
Все, что я сделал, это ввел эту простую команду, чтобы избавиться от файлов в корневом разделе более 400 МБ, которые больше не нужны.
Это дало моей корневой файловой системе необходимое пространство для дыхания. Теперь все работает отлично. Думаю, корневого каталога размером 10 ГБ недостаточно для обработки обновлений Ubuntu за два года.
Если кому-то все равно, система работает под управлением Ubuntu 10.04 с момента ее выхода. Система обновляется не реже одного раза в неделю. Сегодняшняя дата 9-6-2012, так что это почти 2,5 года обновлений.
источник
В конце концов мне помогло очистить (не удалить!) Все пакеты apt-get, связанные с mysql, за исключением того,
libmysqlclient16
что находился в состоянии деинсталляции (не уверен, что это такое).Итак, просто сделайте:
а потом:
Начните с общего, затем перейдите к клиенту, а затем к серверу.
источник
libmysqlclientXX