我遇到以下异常:
in `query': Lost connection to MySQL server during query (Mysql2::Error)
复制非常困难。当我手动执行相同的MySQL命令时,它可能没有任何问题。
我已将其缩小如下:
1。)当我从大表中选择大量记录时,我可能得到此异常。 例如我有一个包含1000万条记录(和~50列)的数据库,当我在一个查询中选择100k记录时,我收到此错误。
2。)当我做1.)重复例如10次我似乎更有可能得到这个异常,即使我在每个查询中使用新的MySQL连接。
我在这里粘贴了我的MySQL变量:http://pastebin.com/D5tfF8Tf
编辑:我注意到MySQL的CPU使用率持续在40%以上
mysql 22811 40.9 0.3 4281712 244212 ? Ssl Oct31 2909:26 /usr/sbin/mysqld
答案 0 :(得分:0)
你在Rails上使用ActiveRecord / Ruby吗?
此错误消息有几个原因,有些建议调整MySQL设置,如超时等 - 但有一个原因可能是由Rails特别引起的,那就是ActiveRecord连接收割机(通过设置{{启用) 1}}配置为非零)。如果启用,它似乎随机杀死更长时间运行的查询。见https://stackoverflow.com/a/22423893/72176
在调整了几乎所有MySQL设置后,我发现它似乎与这个问题有一半关系,它正在禁用为我修复它的连接收割机。