MYSQL复杂查询超时怎么连接lost Error与错别字
本篇内容介绍了"MYSQL复杂查询超时怎么连接lost Error与错别字"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
使用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 在复制查询上的差距有多少,这个要好好看一看,要不怎么和领导提出要升级的要求。
"MYSQL复杂查询超时怎么连接lost Error与错别字"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!