今天在用python查询hive,统计结果保存到mysql的时候,尝试了好多遍,总是报这个错误,python环境下的错误信息:
_mysql_exceptions.OperationalError: (2006, 'MySQL server has gone away')
造成这样的原因一般是sql操作的时间过长,或者是传送的数据太大(例如使用insert ... values的语句过长, 这种情况可以通过修改max_allowed_packed的配置参数来避免,也可以在程序中将数据分批插入)。
由于,这个功能前面用过很多,这里咋就出了问题,觉得特别奇怪,原来这是经典的mysql问题。
MySQL server has gone away
我当然是去google解决,看有没有人遇到同样错误,看了一些博客,得出结论,产生这样的原因有这些:
mysql服务宕了;
mysql连

在执行Python程序查询Hive并存储到MySQL时遇到'MySQL server has gone away'错误。分析发现是由于wait_timeout设置过小导致的连接超时。通过检查代码,发现长时间的Hive查询导致了MySQL连接中断。解决方案包括调整MySQL的wait_timeout参数,或者在程序中分批插入数据,避免一次性操作过大。此外,为防止多线程并发操作和数据库连接泄露,保持较小的wait_timeout也有其安全考量。
订阅专栏 解锁全文

227

被折叠的 条评论
为什么被折叠?



