Bry*_*eld 6 solaris unix-socket econnrefused
在TCP服务器中,我知道拒绝连接可能是因为
ECONNREFUSED尝试连接到UNIX域套接字时可能的原因是什么.
这个问题是为了帮助我缩小Solaris 10配置上的MySQL连接之谜.
Gun*_*ica -3
连接被拒绝并不意味着服务器关闭了套接字(在连接到它之后),它意味着没有服务器在侦听该套接字。因此,首先,您的服务器崩溃,然后,客户端连接被拒绝。(除非积压已满,如果传递给listen()的积压大小太小,或者您的服务器接受()连接的速度不够快,但我在现实生活中从未见过这种情况)。
通常情况下,我会把它归咎于某些防火墙,但是,因为在你的另一篇文章中,你说它只是间歇性地发生,我猜发生的情况是:你的 mysql 服务器崩溃,safe_mysqld 重新启动它,这需要几秒钟,并且在在启动阶段,您会收到连接被拒绝的错误,因为那里没有服务器来听您的声音。尝试设置一个每分钟执行一次“ps -ef | grep mysqld”的 cron 作业,检查进程 ID 是否不时更改,并尝试将这些更改与连接拒绝错误消息相匹配。
如果 mysqld 没有重新启动,即进程 ID 保持不变,请尝试“truss -v Listen,accept -p”之类的操作。每次客户端连接时,这都会给你一些输出 - 也许你可以将“桁架中发生的很多事情”与“我现在连接被拒绝”相匹配。但是,不要在负载较重的生产系统上执行此操作,否则 truss 会 a) 淹没您的输出 b) 显着降低服务器速度。