使用以下方式访问我的网络应用程序后:
- Python 2.7
- Bottle 微框架 v. 0.10.6
- Apache 2.2.22
- mod_wsgi
- 在 Ubuntu Server 12.04 64 位上;几个小时后我收到此错误:
OperationalError: (2006, 'MySQL server has gone away')
我正在使用 MySQL——Python 中包含的原生 MySQL。它通常发生在我不访问服务器时。我尝试使用以下方法关闭所有连接:
cursor.close()
db.close()
其中 db 是标准的 MySQLdb.Connection() 调用。
my.cnf 文件如下所示:
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
它是默认配置文件,除了 max_allowed_packet 是 128M 而不是 16M。
对数据库的查询非常简单,最多检索大约 100 条记录。
谁能帮我解决这个问题?我确实有一个想法是使用 try/except 但我不确定这是否真的有效。
提前致谢,
杰米
更新:try/except 调用不起作用。