前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MYSQL 复杂查询超时连接 lost Error 与 错别字

MYSQL 复杂查询超时连接 lost Error 与 错别字

作者头像
AustinDatabases
发布2020-02-24 11:39:46
1.8K0
发布2020-02-24 11:39:46
举报
文章被收录于专栏:AustinDatabasesAustinDatabases

最近的错别字是越来越厉害,上一篇开头就是两个错别字,恨得我要死,不检查,并且一边写一边查让写的语句也变得像是 translation的。所以最近在反思,数量和质量之间的问题,每周5天,天天一篇,虽然说坚持就是胜利,胜利我没看见,错别字是越来越多了。所以后期可能会更加注重质量,至少错别字的问题的好好的关注一下,有可能一周就不是5篇,会开始降低数量,提高质量,希望从这篇开始。

使用MYSQL复杂查询的用法比较少见,都知道MYSQL在处理OLAP 以及复杂的语句的能力,在处理复杂的语句时有可能会看到下面的情况。

结果没出来,直接就 Lost connection to MySQL server during query

而在MYSQL 的本地执行语句,就没有类似报错。

下面经过调整后,就可以查询出来,不会再有 Error Code 2013, Lost connection to Mysql server during query 的报错了。

那么问题在哪里,就需要从两个方面来看

1 服务端

2 客户端

从服务端来看有几个要注意的地方

1 connect_timeout

这是一个在终止连接前等待传输package的秒数 默认只有10秒钟

2 net_read_timeout

当网络问题,例如MYSQL服务器和客户端之间的查询因为等待要终止读操作,net_read_timeout是控制这个超时的时间,尤其在返回大量数据的情况下。

3 max_allowed_packet 这个参与默认是16MB,一次发送的包大于这个数字,就会被终止连接(一般来说因为这个造成的Client and server 之间的断开比较少见,如果多见就请看看是不是对MYSQL的使用有误解)

很多人在调整了这些参数后还是发现,(例子里面使用 workbench)还是查询失败,还是30秒就自动断开。

那就的看看你使用的客户端的设置了,此例以

可以参考图上的一些数字设置,尤其

DBMS connection read timeout interval 和 DBMS connection timeout intrval 这两个参数。

以上的例子中,仅仅是在服务器端,将net_read_timeout 的时间从30秒增加到 900秒, 在客户端上将 DBMS connection read timeout interval 调整了。比较慢的查询就可以通过客户端进行显示了。

以上例子在 MYSQL 5.7.23 与 MYSQL 8.018 是可以的,随着MYSQL 8 开始应用,到底MYSQL 5.7 和 MYSQL 8 在复制查询上的差距有多少,这个要好好看一看,要不怎么和领导提出要升级的要求。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AustinDatabases 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档