import os
import django
os.environ.setdefault('DJANGO_SETTING_MODULE', 'aoe.settings')
django.setup()
如上述使用时,可能会出现OperationalError: (2006, 'MySQL server has gone away')的错误,排查出错原因及解决方法:
1.检查MySQL 服务是否宕机了
进入数据库进入mysql控制台,查看mysql的运行时长
mysql> show global status like 'uptime';
如果uptime的值比较大,说明服务正常
2.mysql连接超时
程序一直开着,但是长时间不从数据库获取数据,数据库会断开连接,再次操作数据时会也会出现上述的错误。
可以从增大wait_timeout的值,修改程序和自定义脚本请求:
1.增大wait_timeout:
mysql> show global variables like '%timeout';
mysql> set global wait_timeout=60*60*30;(自定义)
此种做法立即生效,但是重启mysql会恢复原来的值,建议修改mysql配置文件my.cnf:wait_timeout=168000(自定义),需要重启mysql。
2.修改程序,每次使用数据库连接时,记得要手动关闭con