Error 2006: "MySQL server has gone away" using Python, Bottle Microframework and Apache

Posted by Jamie on Stack Overflow See other posts from Stack Overflow or by Jamie
Published on 2012-09-16T03:37:00Z Indexed on 2012/09/16 3:37 UTC
Read the original article Hit count: 478

Filed under:
|
|
|
|

After accessing my web app using:
- Python 2.7
- the Bottle micro framework v. 0.10.6
- Apache 2.2.22
- mod_wsgi
- on Ubuntu Server 12.04 64bit; I'm receiving this error after several hours:

OperationalError: (2006, 'MySQL server has gone away')

I'm using MySQL - the native one included in Python. It usually happens when I don't access the server. I've tried closing all the connections, which I do, using this:

cursor.close()
db.close()

where db is the standard MySQLdb.Connection() call.

The my.cnf file looks something like this:

key_buffer      = 16M
max_allowed_packet  = 128M
thread_stack        = 192K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover         = BACKUP
#max_connections        = 100
#table_cache            = 64
#thread_concurrency     = 10

It is the default configuration file except max_allowed_packet is 128M instead of 16M.

The queries to the database are quite simple, at most they retrieve approximately 100 records.

Can anyone help me fix this? One idea I did have was use try/except but I'm not sure if that would actually work.

Thanks in advance,

Jamie

© Stack Overflow or respective owner

Related posts about python

Related posts about mysql