我正在进行批量插入并获得错误 Mysql2::Error: Lost connection to MySQL server during query:
我在互联网上搜索了这个错误,并且大多数博客/文章都要求增加net_read_timeout价值.
我在互联网上搜索net_read_timeout但没有得到任何文章/博客用易于理解的语言描述它.在mysql网站上net_read_timeout被描述为"The number of seconds to wait for more data from a connection before aborting the read".我对这个陈述完全感到困惑而没有得到它.
我也想了解net_write_timeout和wait_timeout变量.
谢谢,
Cla*_*tta 15
MySQL为各个阶段使用不同的超时变量.
connection_timeoutwait_timeoutnet_read_timeout和的特定时间内没有收到查询时net_write_timeout通常net_read_timeout不应该是一个问题,但是当你遇到网络问题时,特别是在与服务器通信时,可能会引发此超时,因为您发送到数据库时,MySQL不等待查询的单个数据包,而是等待整个查询到被读取,但由于网络问题,它不会收到其余的查询.在完全获取查询结果之前,MySQL不允许客户端与服务器通信.
你不能正确地改变那两个变量,毕竟它们是会话变量.
您也可以阅读MySQL Doc
net_read_timeout:
在中止读取之前等待来自连接的更多数据的秒数.当服务器从客户端读取时,net_read_timeout是控制何时中止的超时值.当服务器写入客户端时,net_write_timeout是控制何时中止的超时值.另请参见slave_net_timeout.
net_write_timeout:
在中止写入之前等待块写入连接的秒数.另请参见net_read_timeout.
您可以使用查看MySQL本身的默认变量
> mysql show variables like '%timeout';
| 归档时间: |
|
| 查看次数: |
26165 次 |
| 最近记录: |