mysql\u exceptions.operationalerror:(2006,'mysql server has gone away')

uelo1irk  于 2021-06-21  发布在  Mysql
关注(0)|答案(0)|浏览(268)

我在执行查询时遇到了这个错误

File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 174, in execute
    self.errorhandler(self, exc, value)
File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in de
faulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (2006, 'MySQL server has gone away')

我读了这个问题,这个问题,这个问题,这个问题
我看了医生,我知道我犯了这个错误,因为 image_name 我的查询太大了
如果向服务器发送的查询太大,也会出现这些错误。
我为变量的长度设置了一个限制

image_name = (image_name[:180]) if len(image_name) > 180 else image_name
cmd = "UPDATE `banners` SET `checked` =  '1',`local_dir` = %s , `image_name` = %s  WHERE  `unique_id` = %s "
cursor.execute(cmd,[local_addr,image_name,unique_id])

我也设置了 max_allowed_packet/etc/my.cnf ```
[mysqld]
max_allowed_packet=16M

你知道我怎样才能避免这个错误吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题