当前位置:  开发笔记 > 后端 > 正文

mysql:mysql的wait_timeout,net_read_timeout和net_write_timeout变量是什么?

如何解决《mysql:mysql的wait_timeout,net_read_timeout和net_write_timeout变量是什么?》经验,为你挑选了1个好方法。

我正在进行批量插入并获得错误 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变量.

谢谢,



1> Claudio Ludo..:

MySQL为各个阶段使用不同的超时变量.

建立连接时使用 connection_timeout

当它等待它使用的下一个查询时 wait_timeout

当它在使用net_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';

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有