无法通过套接字'/var/run/mysqld/mysqld.sock'连接到本地MySQL服务器(2)


9

我使用dovecot + postfix + mysql配置了邮件服务器,并且在服务器(Ubuntu服务器)中运行正常。但是在上周,它停止了正常工作。它不发送电子邮件。当我尝试telnet localhost smtp成功连接时,但是当我mail from:<steve@example.com>按下Enter键时,它挂起了,什么也没发生。

查阅/var/log/mail.log文件后,我发现,尝试连接到MySQL服务器时,问题可能出在后缀上(99%)。如果您看到下面给出的日志文件,则可以看到它显示为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   

Answers:


6

看起来很愚蠢,但我已经解决了问题。我没有注意到系统管理员以某种方式阻止了防火墙上所有主机的3306端口,因此我无法连接到mysql。删除该限制后,我可以毫无问题地连接到mysql。感谢您的建议和帮助。


1
如何取消限制?
2013年

我想通过TCP而不是通过套接字进行连接。我怎样才能做到这一点?谢谢。
krisanalfa 2015年

@Green,您好,您有什么解决方案可以删除限制,或者如何查找端口3306是否存在限制?
Sushivam '16

3

我有一个类似的问题。将“ hosts = localhost”更改为“ hosts = 127.0.0.1”,并将bind-address设置为相同的地址,这对我来说是固定的(出于某种原因,bind-address设置为0.0.0.0)


我能够将bind-address保留为0.0.0.0(这对于我使用galera进行的群集是必需的),只需更改“ host = 127.0.0.1:3306”即可将其切换为使用TCP。我决定这样做,而不是像其他人那样将套接字绑定安装到Postfix chroot中。
肖恩·赖夫施奈德

3

您是否尝试连接到Mysql服务器?

mysql -u username -p

另外,您可以尝试将/etc/mysql/my.cnf中的侦听地址更改为127.0.0.1,然后重新启动MySQL

# /etc/mysql/my.cnf
bind-address = 127.0.0.1

我做到了你所说的一切,没有结果
Bakhtiyor

我的意思是我可以使用mysql -u用户名-p连接到mysql
Bakhtiyor

应该是“ my.cnf”
jnunn

2

我只是在公司的一台计算机上遇到了同样的错误。

Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

当我尝试通过ssh运行X-windows程序时,我也经常收到此错误:

GConf Error: Failed to contact configuration server; 
some possible causes are that you need to enable TCP/IP networking for ORBit,
or you have stale NFS locks due to a system crash

事实证明,我的根文件系统已完全装满,没有可用的磁盘空间,因此我的系统无法写很多必要的文件。我遇到了与许多不同程序有关的各种错误。(无法通过GDM登录,GDM壁纸变黑,gconf锁定文件错误等)。

我要做的就是输入这个简单的命令,以消除根分区中不再需要的超过400 MB的文件。

sudo apt-get autoremove

这给了我的根文件系统所需的呼吸空间。现在一切正常。猜测10 GB的根目录不足以处理两年以上的Ubuntu更新。

如果有人在乎,该系统自问世以来一直在运行Ubuntu 10.04。系统每周至少更新一次。今天的日期是2012年9月6日,所以更新值将近2 1/2年。


当你的问题是空间,我也建议askubuntu.com/questions/17432/...
ecoologic

+1指出空间问题-这解决了我的问题。
2013年

1

最终帮助我的是清除(而不是删除!)与mysql相关的所有apt-get软件包,除了libmysqlclient16处于卸载状态(不确定那是什么)之外。

因此,只需:

dpkg --get-selections | grep mysql

然后:

sudo apt-get purge <package_name>

从通用开始,然后转到客户端,再到服务器。


我认为这个答案没有帮助。问题是3306端口被阻塞,没有损坏的MySQL软件包。
Nephente

此命令将删除任何软件包,具体取决于libmysqlclientXX
krisanalfa 2015年

如何找到被阻塞的端口3306?
Sushivam '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.