Mysql
 sql >> база данни >  >> RDS >> Mysql

Python губи връзка с базата данни MySQL след около ден

Вече работи. Използването на обединени връзки изглежда реши проблема за мен.

mysql.connector.connect(
    host='10.0.0.25',
    user='xxxxxxx', 
    passwd='xxxxxxx', 
    database='xxxxxxx',
    pool_name='batman',
    pool_size = 3
)

def connection():
    """Get a connection and a cursor from the pool"""
    db = mysql.connector.connect(pool_name = 'batman')
    return (db, db.cursor())

Извиквам connection() преди всяка функция за заявка и след това затворете курсора и връзката, преди да се върнете. Изглежда работи. Все пак е отворен за по-добро решение.

Редактиране

Оттогава намерих по-добро решение. (Все още понякога се сблъсквах с проблеми с обединените връзки). Всъщност има специална библиотека за Flask, която да обработва mysql връзки, което е почти замяна.

От bash:pip install Flask-MySQL

Добавете MYSQL_DATABASE_HOST , MYSQL_DATABASE_USER , MYSQL_DATABASE_PASSWORD , MYSQL_DATABASE_DB към вашата конфигурация на Flask. След това в основния файл на Python, съдържащ вашия обект Flask App:

from flaskext.mysql import MySQL
mysql = MySQL()
mysql.init_app(app)

И за да получите връзка:mysql.get_db().cursor()

Целият друг синтаксис е същият и оттогава не съм имал проблеми. Използвам това решение от дълго време.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. как да изпратите опцията, избрана от падащия списък в jsp страница, за да изпълните mysql заявка

  2. SQL:търсене/замяна, но само първия път, когато дадена стойност се появи в записа

  3. Как да добавя последната колона в таблицата на mysql

  4. Разрешеният размер на паметта от 134217728 байта е изчерпан (опит за разпределяне на 42 байта)

  5. Проблем с показването на MySQL данни в android studio с помощта на залп