MySQL技术专题(3)MySQL报错Got an error reading communication packets问题分析指南

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL技术专题(3)MySQL报错Got an error reading communication packets问题分析指南相关的知识,希望对你有一定的参考价值。

参考技术A 当系统服务的mysql错误日志中,发现大量以下类似信息:经常收到客户关于通信故障错误的问题—客户面临间歇性的”Got an error reading communication packet”错误,这里分析这个错误出现的原因,以及如何解决这个问题。

下面看看官网怎么说:

Other reasons for problems with aborted connections or aborted clients:

Aborted connection情况下,这也意味着以下几个问题:

当然,也可能是其它原因导致的。坦白讲,异常中断是很难诊断的,也有可能是和网络、防火墙有关。

如果log_warnings的值大于1,mysql会将类似信息写入错误日志:

可以修改一下log_waring的值:

但这样直接修改,重启后会失效,修改配置文件mysql.cnf log_warnings = 1

已解决TypeError: search() got an unexpected keyword argument ‘requests_timeout’

已解决(elasticsearch模块报错)TypeError: search() got an unexpected keyword argument ‘requests_timeout’





文章目录





报错代码



粉丝群里面的一个小伙伴想用elasticsearch 模块读取数据,但是发生了报错(当时他心里瞬间凉了一大截,跑来找我求助,然后顺利帮助他解决了,顺便记录一下希望可以帮助到更多遇到这个bug不会解决的小伙伴),报错代码如下:

from elasticsearch import Elasticsearch

es = Elasticsearch(["host": "服务器地址", "port": 端口号])
print(es.ping)

body = 'match':'name':'小鹏'
data = es.search(index='库名',doc_type='表名',body=body,size=10,requests_timeout=60)
print(data)


可以看到导包和传参没有任何问题,但是还是报错了:




报错信息如下







报错翻译



报错信息翻译

类型错误:search()获得意外的关键字参数“requests_timeout”




报错原因



报错原因

这是由于elasticsearch 版本更新导致的,粉丝使用的版本是: 5.5.3,就没有了requests_timeout这个参数了







解决方法



解决方法1:去掉requests_timeout参数查询即可

data = es.search(index='库名',doc_type='表名',body=body,size=10)

解决方法2:安装其他版本的elasticsearch 模块,可以尝试更新版本,或者安装低版本的试试


帮忙解决

本文已收录于:《告别Bug》专栏

本专栏用于记录学习和工作中遇到的各种疑难Bug问题,以及粉丝群里小伙伴提出的各种问题,文章形式:报错代码 + 报错翻译 + 报错原因 + 解决方法,包括程序安装、运行程序过程中等等问题,订阅专栏+关注博主后如遇到其他问题可私聊帮忙解决!!!

以上是关于MySQL技术专题(3)MySQL报错Got an error reading communication packets问题分析指南的主要内容,如果未能解决你的问题,请参考以下文章

MySQL ERROR Got an error reading communication packets

解决MySQL数据导入报错Got a packet bigger than‘max_allowed_packet’bytes

修改mysql端口后重启mysql报错:Can't start server: Bind on TCP/IP port. Got error...n denied

MySQL Got fatal error 1236原因和解决方法

Wamp MySQL 报错 Got a packet bigger than 'max_allowed_packet' bytes

MySQL导入数据报错Got a packet bigger than‘max_allowed_packet’bytes错误的解决方法