程序连接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上面也有不少人提出过类似问题,但没有看到明确的解决方案,求大牛给个思路。 :'(,木有人么,自己顶起。 回复 2# finderla
具体不清楚,看看下面这个link能不能给你一些提示
http://www.mysqlperformanceblog.com/2012/01/06/mysql-high-number-connections-per-secon/
回复 3# RogerZhuo
感谢提供的这篇帖子,帖子内容跟我之前的想法有很大共同点,我也在从最大连接数开始着手,先重现错误。
http://bugs.mysql.com/bug.php?id=42865
http://topic.csdn.net/u/20090710/13/3a940445-ea2d-4872-89a9-58feb8e3f020.html
这个是操作系统的问题,不是mysql的。找下公司运维,看有没有什么线索。 回复 5# 龙雪刚
运维表示是连接mysql才出现滴,so。。。。。。
记录下 记录下 这是达到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太”忙“ 嗯嗯。。帮忙记录。。