首页
学习
活动
专区
圈层
工具
发布

设置Mysql的连接超时参数wait_timeout、interactive_timeout

最近处理一个web服务时,写数据库数据时,经常报“MySQL server has gone away”,一查发现是mysql的wait_timeout、interactive_timeout设置的过短...查看mysql server超时时间: msyql> show global variables like ‘%timeout%’; 设置mysql server超时时间(以秒为单位): 最小设置  ...msyql> set global wait_timeout=28800; msyql> set global interactive_timeout=28800; mysql默认是28800,即8小时...(1)interactive_timeout: 服务器关闭交互式连接前等待活动的秒数 (2)wait_timeout: 服务器关闭非交互连接之前等待活动的秒数。...两者生效取决于:客户端是交互或者非交互的连接。 在交互模式下,interactive_timeout才生效;非交互模式下,wait_timeout生效。

9.3K20

mysql wait_timeout和interactive_timeout总结

交互式客户端定义为在mysql_real_connect()中使用CLIENT_INTERACTIVE选项的客户端。...在线程启动时,根据全局wait_timeout值或全局interactive_timeout值初始化会话wait_timeout值,取决于客户端类型(由mysql_real_connect()的连接选项...问题3:在进行MySQL优化时,因为interactive_timeout决定的是交互连接的时间长短,而wait_timeout决定的是非交互连接的时间长短。...如果在进行连接配置时mysql_real_connect()最后一个参数client_flag不设置为CLIENT_INTERACTIVE,是不是interactive_timeout的值不会覆盖wait_timeout...那么客户端的timeout受制于interactive_timeout。 如果有的客户端是非交互模式,长连接mysql server。那么客户端的timeout受制于wait_timeout。

3.1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL Connect-Timeout 引发的血案

    对于一套高可用系统来说,通常情况下应用层是无状态的,并且它的结点众多,所以就算有几台机器死机对它的影响也不大。 如果它的后台数据库(MySQL)死了,那基本上就没有然后了。...为了解决一台数据库的单点问题,业界通常是做一个一主多从的架构,在 MySQL 主结点死掉后,把流量切到从结点上去;像这样的一套 MySQL 架构我们称之为一套 MySQL 高可用集群。...现在有多套了业务完全有“基础”在一套 MySQL 不能提供服务的情况下把流量切到其它 MySQL 集群上去。...python3 main.py mysql server is online 业务的检查失败了 那天业务的检查程序报 MySQL 连接不上,但是 MySQL 活的好好的。..._connection_timeout = DEFAULT_CONFIGURATION["connect_timeout"] # 其二 try: self.sock = socket.socket

    3.1K30

    MySQL timeout调研与实测

    60 wait_timeout 28800 上面这5个超时是本次调研的重点,当然MySQL绝对不指这5种超时的配置,由于经历和时间有限,本次只谈这5种。...前三次握手可以简单理解为TCP建立连接所必须的三次握手,MySQL无法控制,更多的受制于不TCP协议的不同实现,后面的三次握手过程超时与connect_timeout有关。...确切的说是mysql在等用户的请求(query),如果发现一个线程已经sleep的时间超过wait_timeout了那么这个线程将被清理掉,无论是交换模式或者是非交换模式都以此值为准。...下面是一个模拟的例子: mysql > set global max_allow_packet=1; #目的是让结果集被分成多个包传输给客户端 mysql > set global net_write_timeout...参考链接: MySQL中的配置参数interactive_timeout和wait_timeout(可能导致过多sleep进程的两个参数) 官方文档关于interactive_timeout的解释

    1.2K30

    mysql超经典的8小时问题-wait_timeout

    (MysqlIO.java:1573) 场景出现的理论依据 MySQL 的默认设置下,当一个连接的空闲时间超过8小时后,MySQL 就会断开该连接,而 c3p0/dbcp 连接池则以为该被断开的连接依然有效...-- 当连接池连接耗尽时,客户端调用getConnection()后等待获取新连接的时间, 超时后将抛出SQLException,如设为0则无限期等待。单位毫秒。...-可能就是这样的 #my.cnf wait_timeout=31536000 interactive_timeout=31536000 加大wait_timeout的时间?...个人当前觉得此题 第一需考虑的是: 你业务当前高峰期mysql_connection是多少?保留多久connection在高峰期都不会撑爆你数据库连接池? 如果你知道这个池-那么是改mysql ?...因EPG的一个访问-一次对数据库操作量不大,查询完数据就完成ok啦,wait_timeout 设置在120s内应该是够用啦,那么相对应的c3p0中 设置小于wait_timeout 的时间有效性检查 -

    1.3K40

    MySQL更新锁表超时 Lock wait timeout exceeded

    然而运行结果: com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Lock wait timeout exceeded; try...updatePutInStorage需要更新订单的入库状态,此时外层事务锁住了该表,所以更新订单的入库状态无法更新。...更新订单的入库状态等待更新订单的审核状态,而REQUIRES_NEW又会让更新订单的审核状态等待更新订单的入库状态。造成相互等待,也就造成死锁。...解决方案 死锁:两个线程为了保护两个不同的共享资源而使用了两个互斥锁,那么这两个互斥锁应用不当的时候,可能会造成两个线程都在等待对方释放锁,在没有外力的作用下,这些线程会一直相互等待,就没办法继续运行,...含有嵌套的事务的更新,需要按照相同的顺序更新,不然可能会出现锁相互等待的情况。

    1.8K30

    MySQL数据库innodb_rollback_on_timeout参数

    在使用MySQL数据库时,有时会出现ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction 这样的报错。...隔离级别 innodb_rollback_on_timeout 结果 REPEATABLE-READ OFF 超时回滚前的SQL不会自动回滚 READ-COMMITTED OFF 超时回滚前的SQL不会自动回滚...表观察事务情况,在不同的版本中事务情况不一样.例如,隔离级别REPEATABLE-READ & innodb_rollback_on_timeout=on的情况下,MySQL5.6 中整个事务回滚后会自动创建一个事务...MySQL不停地自动重启怎么办 2. 升级python,就是这么简单 3. MySQL里trx_mysql_thread_id为0 的事务导致大量锁等待超时该咋整 4....MySQL从库生成大量小的relay log案例模拟 12. MySQL传统点位复制在线转为GTID模式复制

    3.4K11

    MySQL timeout 参数可以让事务不完全回滚

    最近光折腾PostgreSQL,MongoDB,PolarDB,MySQL写的少了,今天咱们写一写,MySQL生疏了的DBA,把两个参数给混淆的故事,故事是这样的,在MySQL中,有两个参数...数据库引擎中的管理行锁等待的参数,默认值为50秒,当一个事务中尝试获取另一个事务中已经获取的行锁,且超过innodb_lock_wait_timeout 的时间,则MySQL将这个等待其他事务结束释放行锁的事务...随着MySQL的版本的推进,对于8.0后的MySQL且硬件资源比较丰富的情况下,建议开启innodb_deadlock_detect参数,通过innodb_deadlock_detect和innodb_lock_wait_timeout...这个参数,从官方的说明中是控制事务等待行锁最长的时间,但在有了innodb_lock_wait_timeout这个参数的情况下,这个lock_wait_timeout参数更多的意义就与DDL 有关了。...----+-------+ 2 rows in set (0.00 sec) mysql> 到此为止,timeout的参数,梳理的一遍,有的时候是容易健忘,需要一段时间重新梳理好似熟悉的知识

    43110

    关于MySQL的wait_timeout连接超时问题报错解决方案

    这是个很简单的异常。但是解决方法有n个。...1.直接改mysql的配置 mysql cmd show variables like ‘%timeout%’ set wait_timeout=123456789 set interactive_timeout...2.改mysql.ini的配置 找到下面的值的位置,然后修改,重新启动mysql即可 wait_timeout=31536000 interactive_timeout=31536000 3....不修改mysql的配置,修改代码德佩值,让线程在mysql提示超时前回收,并重新连接 也就是把连接池的生存周期减少。...定期使用连接池内的连接 定期ping一下保持连接的健壮性,在spring默认的mybatis和jpa框架里面都有实现这功能,除非我们配置默认关闭或者配置了生存时间,而博主的老大正是直接拷贝老配置到新代码里面才出现这问题

    4K30

    css中的单位

    前端开发中, 做适配是少不了的, 即页面在各种尺寸的机型中显示效果一样, 这就用到了css中的各种长度单位, 做一下总结 在css中, 长度单位分为以下几种 绝对单位: px、in、cm、mm、pt、pc...百分比单位: vw、vh、vmin、vmax、% 相对单位: em、rem、ex、ch 各单位的介绍 px 不用过多介绍, 精确像素 in 寸 cm 厘米 mm 毫米 pt 大约1/72寸 pc 大约...1/6寸 vw 以窗口宽度为参照, 1vw为窗口宽度的1% vh 窗口高度为参照, 1vh为窗口高度的1% vmin 窗口的宽度和高度中较小的一个为参照,百分比 vmax 窗口的宽度和高度中较大的一个为参照..., 百分比 % 以父节点为基准的百分比 em 以父节点字体大小为基准值, 父节点字体大小为20px, 则1.5em为30px rem 以根节点字体大小为基准值, 及HTML标签的字体大小 ex 当前字体...x的高度为基准, 无法确定时为0.5em ch 以当前字体0字符为基准值, 无法确定时为0.5em

    2.1K20
    领券