pymysql-开启调试模式

今天在排查线上一个奇怪的数据库连接问题,所以打开了 pymysql 的源码在阅读,发现 pymysql 在其 connections 模块里内置了一个 DEBUG 变量用于控制是否开启调试模式,是的话,会将当前连接的操作以及报文内容都打印到控制台。 使用方法在你的服务器初始化代码里,加上对 DEBUG 的设置,比如: import pymysqlpymysql.install_as_MySQLdb()pymysql.connections.DEBUG = True # 这是我新加的一行重启服务器后,访问相关接口,会看到标准输出里有类似下面的一些输出:

August 18, 2019 · 1 min · jiezi

django数据库自动重连

简介Django数据库连接超过wait_timeout导致连接丢失时自动重新连接数据库https://github.com/zhanghaofe…安装pip install django_db_reconnect注意仅支持pymysql,使django使用pymysql需要先安装包并在settings.py所在目录的__init__.py增加如下代码:import pymysqlpymysql.install_as_MySQLdb()使用添加django_db_reconnect到settings.py的INSTALLED_APPSINSTALLED_APPS = ( # 省略其他配置 ‘django_db_reconnect’,)其他问题事务或者其他autocommit=False非自动提交情况下将不会自动重连,否则可能导致连接丢失前的写入没有commit被丢弃

February 20, 2019 · 1 min · jiezi