没有超级权限;超过最大封包大小

时间:2018-12-11 14:26:05

标签: python mysql pandas python-2.7 mysql-python

我正在尝试使用mysql.connector,sqlalchemy和pandas建立一个mySQL数据库。我能够创建数据库,设置一些表并分配主键。我到了需要将较大的一张表放入数据库的地步。我尝试以下操作:

full_gencode_df.to_sql(name='full_gencode_df', con=engine, index=True)

会产生以下错误(为水平滚动表示歉意,这是一个长错误,甚至被截断):

sqlalchemy.exc.OperationalError: (mysql.connector.errors.OperationalError) 1153 (08S01): Got a packet bigger than 'max_allowed_packet' bytes [SQL: u'INSERT INTO full_gencode_df (`index`, ccdsid, end, exon_id, exon_number, ....

在寻找解决方案之后,据我所知这是SQL端而不是Python端的错误,解决方案是更改max_allowed_packet以允许将较大的数据包插入数据库中。不幸的是,我没有数据库服务器上的SUPER特权,而且我不知道获得该特权的机会是多少。

我找不到不具有SUPER特权的解决方法。在Python端或SQL端是否有解决方法?尝试对表进行分块并以append模式写入表会有所帮助吗?

0 个答案:

没有答案