mysql和连接相关的timeout

下面总结下和连接有关的timeout

slave-net-timeout
The number of seconds to wait for more data from the master before the slave considers the connection broken, aborts the read, and tries to reconnect. The first retry occurs immediately after the timeout. The interval between retries is controlled by the MASTER_CONNECT_RETRY option for the CHANGE MASTER TO statement, and the number of reconnection attempts is limited by the --master-retry-count option. The default is 3600 seconds (one hour).
当slave认为连接master的连接有问题时,就等待N秒,然后断开连接,重新连接master

net_read_timeout :
The number of seconds to wait for more data from a connection before aborting the read. When the server is reading from the client, net_read_timeout is the timeout value controlling when to abort
在终止读之前,从一个连接获得数据而等待的时间秒数;当服务正在从客户端读取数据时,net_read_timeout控制何时超时。

net_write_timeout:
The number of seconds to wait for a block to be written to a connection before aborting the write.When the server is writing to the client, net_write_timeout is the timeout value controlling when to abort。
在终止写之前,等待多少秒把block写到连接;当服务正在写数据到客户端时,net_write_timeout控制何时超时

wait_timeout
The number of seconds the server waits for activity on a noninteractive connection before closing it.
与服务器端无交互状态的连接,直到被服务器端强制关闭而等待的时间

interactive_timeout :
The number of seconds the server waits for activity on an interactive connection before closing it.
与服务器端无交互状态的连接,直到被服务器端强制关闭而等待的时间

connect_timeout
The number of seconds that the mysqld server waits for a connect packet before responding with Bad handshake. The default value is 10 seconds.
等待一个连接响应的时间

connect_timeout:在获取连接阶段(authenticate)起作用
interactive_timeout和wait_timeout:在连接空闲阶段(sleep)起作用
net_read_timeout和net_write_timeout:则是在连接繁忙阶段(query)起作用。

获取MySQL连接是多次握手的结果,除了用户名和密码的匹配校验外,还有IP->HOST->DNS->IP验证,任何一步都可能因为网络问题导致线程阻塞。为了防止线程浪费在不必要的校验等待上,超过connect_timeout的连接请求将会被拒绝。

即使没有网络问题,也不能允许客户端一直占用连接。对于保持sleep状态超过了wait_timeout(或interactive_timeout,取决于client_interactive标志)的客户端,MySQL会主动断开连接。
即使连接没有处于sleep状态,即客户端忙于计算或者存储数据,MySQL也选择了有条件的等待。在数据包的分发过程中,客户端可能来不及响应(发送、接收、或者处理数据包太慢)。为了保证连接不被浪费在无尽的等待中,MySQL也会选择有条件(net_read_timeout和net_write_timeout)地主动断开连接。

转自<http://blog.csdn.net/wyzxg/article/details/11022899>

时间: 2024-10-09 20:51:45

mysql和连接相关的timeout的相关文章

golang中mysql建立连接超时时间timeout 测试

本文测试连接mysql的超时时间. 这里的"连接"是建立连接的意思. 连接mysql的超时时间是通过参数timeout设置的. 1.建立连接超时测试 下面例子中,设置连接超时时间为5s,读超时时间6s. MySQL server IP是192.168.0.101,端口3306. 每3s执行一次SQL. // simple.go package main import ( "database/sql" "log" "time"

MYSQL连接相关参数和状态值详解

针对mysql的连接参数和状态值,本文做些介绍和对比 一.MYSQL连接参数变量 1.常用连接数限制参数 show variables like '%connect%'; | max_connect_errors | 999999999 | ##允许单用户连接错误最大值,超过后在不刷新状态的情况下,禁止该用户新连接 | max_connections | 6000 | ##实例最大连接数限制 | max_user_connections | 0 | ##但用户连接最大限制,默认0表示无限制,遵守

mysql交互式连接&amp;非交互式连接

交互式操作:通俗的说,就是你在你的本机上打开mysql的客户端,就是那个黑窗口,在黑窗口下进行各种sql操作,当然走的肯定是tcp协议. 非交互式操作:就是你在你的项目中进行程序调用.比如一边是tomcat web服务器,一边是数据库服务器,两者怎么通信?在java web里,我们通常会选择hibernate或者是jdbc来连接.那么这时候就是非交互式操作. 参考:MySQL中 timeout相关参数解析 http://www.cnblogs.com/cenalulu/archive/2012/

MySQL之——server保持与MySQL的连接

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47008019 server程序常常要訪问数据库,而且server程序是长时间保持运行的,mysql有一个特点.当连接上数据库后不做不论什么操作,默认8小时候会自己主动关闭休眠的连接.普通情况下非常难预料什么时候程序会运行数据库操作.假设连接被mysql断开了,会出现意想不到的问题.这在server程序中是一种灾难! 保持server程序与Mysql的连接一种方式是改动默认的休眠时

mysql设置连接等待时间(wait_timeout)

Linux下mysql修改连接超时 1,首先进入mysql,查看 wait_timeout.interactive_timeout这个值是否为默认的8小时(即 28800) [[email protected] ~]# mysql -u root -p Enter password: 输密码进入 执行如下命令 show variables like '%timeout%'; +----------------------------+-------+ | Variable_name      

服务器保持与Mysql的连接

服务器程序经常要访问数据库,并且服务器程序是长时间保持运行的,mysql有一个特点,当连接上数据库后不做任何操作,默认8小时候会自动关闭休眠的连接!一般情况下很难预料什么时候程序会执行数据库操作,如果连接被mysql断开了,会出现意想不到的问题,这在服务器程序中是一种灾难!保持服务器程序与Mysql的连接一种方式是修改默认的休眠时间,但这种方式治标不治本:另一种方式很显然就是定期的执行数据库操作来保持与mysql的连接. 查看默认休眠时间的方式: 登录mysql后输入命令 show variab

mysql长连接和短连接

什么是长连接? 其实长连接是相对于通常的短连接而说的,也就是长时间保持客户端与服务端的连接状态. 通常的短连接操作步骤是: 连接->数据传输->关闭连接: 而长连接通常就是: 连接->数据传输->保持连接->数据传输->保持连接->…………->关闭连接: 这就要求长连接在没有数据通信时,定时发送数据包,以维持连接状态,短连接在没有数据传输时直接关闭就行了 什么时候用长连接,短连接? 长连接主要用于在少数客户端与服务端的频繁通信,因为这时候如果用短连接频繁通信

mysql 5.6 之 有关timeout参数

mysql> show global  variables  like  '%timeout%'; +-----------------------------+----------+ | Variable_name               | Value    | +-----------------------------+----------+ | connect_timeout             | 1000     | | delayed_insert_timeout    

mysql中连接失败2003错误解决办法

在使用mysql数据库,新建连接时,会报2003-Can't connect to server on 'localhost'(10038)错误,原因主要是MYSQL服务没有启动起来,但是进入:计算机——管理——服务中,找不到MYSQL服务,主要解决办法: 方法1: 1.找到mysql的安装路径下的 bin 文件夹下,例如我的是:"E:\dataBase\mySQL\bin"; 2.找到bin文件夹下的 “mysqld.exe” 可执行文件,双击,这样mysql服务就可以在服务中找到了