Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

पाइथन लगभग एक दिन के बाद 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() को कॉल करता हूं प्रत्येक क्वेरी फ़ंक्शन से पहले और फिर लौटने से पहले कर्सर और कनेक्शन को बंद कर दें। काम करने लगता है। हालांकि अभी भी एक बेहतर समाधान के लिए खुला है।

संपादित करें

तब से मुझे एक बेहतर समाधान मिला है। (मैं अभी भी कभी-कभी पूल किए गए कनेक्शन के मुद्दों में चल रहा था)। वास्तव में फ्लास्क के लिए mysql कनेक्शन को संभालने के लिए एक समर्पित पुस्तकालय है, जो लगभग एक ड्रॉप-इन प्रतिस्थापन है।

बैश से:pip install Flask-MySQL

जोड़ें MYSQL_DATABASE_HOST , MYSQL_DATABASE_USER , MYSQL_DATABASE_PASSWORD , MYSQL_DATABASE_DB आपके फ्लास्क config. फिर अपने फ्लास्क ऐप ऑब्जेक्ट वाली मुख्य पायथन फ़ाइल में:

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. दो तालिकाओं में से चुनें जहां लिंक किया गया कॉलम रिक्त हो सकता है

  2. एक mysql तालिका में एक ही कॉलम से गिनती हो रही है?

  3. utf16 एन्कोडेड फ़ाइल को mysql में आयात करने में विफल रहा

  4. पीडीओ::परम तारीखों के लिए?

  5. लारवेल स्कीमा बिल्डर स्टोरेज इंजन को बदल देता है