>记录生活, 工作的点点滴滴...

python df.to_sql() 错误:10053 您的主机中的软件中止了一个已建立的连接。

问题:使用python向mysql插入数据时, 提示以下信息:
OperationalError: (mysql.connector.errors.OperationalError) 2055: Lost connection to MySQL server at ‘192.168.135.253:3306’, system error: 10053 您的主机中的软件中止了一个已建立的连接。

环境:python 3.4/mysql 5.7

出错语句pandas 的 df.to_sql()

错误原因分析:

1. 使用mysql.connector原生语句测试, 执行execute()每次插入一行, 结果无报错;

2.执行excutemany()批量执行时, 提示如下:

OperationalError: Got a packet bigger than ‘max_allowed_packet’ bytes

问题定位:单次数据包超过mysql max_allowed_packet设置.

 

进入mysql, 查看max_allowed_packet配置:

show VARIABLES like '%max_allowed_packet%';


修改mysql配置文件:

max_allowed_packet = 20M

或执行命令行:

set global max_allowed_packet = 1024*1024*20;


发表于:2018-01-20 11:47:03浏览(445) 评论(0) Python