finderla 发表于 2012-04-15 12:55

程序连接mysql出错,Interrupted system call,求大牛指导。

本帖最后由 finderla 于 2012-04-15 12:56 编辑

最近经常发现程序报以下错误:SQLSTATE Can't connect to MySQL server on 'XX.XX.XX.XX' (4)

$ perror 4
    OS error code   4:Interrupted system call

百思不得其解,为什么会中断系统调用,翻了n多次google,发现在mysql的bug上面也有不少人提出过类似问题,但没有看到明确的解决方案,求大牛给个思路。

finderla 发表于 2012-04-16 09:03

:'(,木有人么,自己顶起。

RogerZhuo 发表于 2012-04-16 09:19

回复 2# finderla

具体不清楚,看看下面这个link能不能给你一些提示

http://www.mysqlperformanceblog.com/2012/01/06/mysql-high-number-connections-per-secon/

   

finderla 发表于 2012-04-16 10:41

回复 3# RogerZhuo
感谢提供的这篇帖子,帖子内容跟我之前的想法有很大共同点,我也在从最大连接数开始着手,先重现错误。


   

龙雪刚 发表于 2012-04-16 11:20

http://bugs.mysql.com/bug.php?id=42865

http://topic.csdn.net/u/20090710/13/3a940445-ea2d-4872-89a9-58feb8e3f020.html

这个是操作系统的问题,不是mysql的。找下公司运维,看有没有什么线索。

finderla 发表于 2012-04-16 12:53

回复 5# 龙雪刚

运维表示是连接mysql才出现滴,so。。。。。。
   

ruochen 发表于 2012-04-17 22:54

记录下

ruochen 发表于 2012-04-17 22:54

记录下

phphp 发表于 2012-04-18 01:49

这是达到connect_timeout时TCP连接未建立成功(如丢包等)或mysql未发送Handshake Initialization Packet

示例:
终端1:nc -l -p 5678
终端2: mysql --connect_timeout=2 -h 127.0.0.1 -P5678

如果是偶尔报这个错,可以用重试解决:
1.设置超时为1s
2.如果返回连接超时的错误,重试n次

如果比较频繁,可以用tcpdump抓包检查一下通信过程看是网络问题还是mysqld太”忙“

jmyychen 发表于 2012-05-03 12:57

嗯嗯。。帮忙记录。。
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 程序连接mysql出错,Interrupted system call,求大牛指导。