Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Python kehilangan koneksi ke database MySQL setelah sekitar satu hari

Saya membuatnya bekerja sekarang. Menggunakan koneksi gabungan tampaknya menyelesaikan masalah bagi saya.

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())

Saya memanggil connection() sebelum setiap fungsi kueri lalu tutup kursor dan koneksi sebelum kembali. Tampaknya bekerja. Masih terbuka untuk solusi yang lebih baik.

Sunting

Sejak itu saya menemukan solusi yang lebih baik. (Saya kadang-kadang masih mengalami masalah dengan koneksi yang dikumpulkan). Sebenarnya ada perpustakaan khusus untuk Flask untuk menangani koneksi mysql, yang hampir merupakan pengganti drop-in.

Dari bash:pip install Flask-MySQL

Tambahkan MYSQL_DATABASE_HOST , MYSQL_DATABASE_USER , MYSQL_DATABASE_PASSWORD , MYSQL_DATABASE_DB ke konfigurasi Flask Anda. Kemudian di file Python utama yang berisi objek Aplikasi Flask Anda:

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

Dan untuk mendapatkan koneksi:mysql.get_db().cursor()

Semua sintaks lainnya sama, dan saya tidak memiliki masalah sejak itu. Sudah lama menggunakan solusi ini.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara memilih catatan berisi MAX(some_field) dalam GROUP(group by)

  2. Bagaimana cara memeriksa apakah email sudah terdaftar?

  3. Mengapa MySQL menambahkan komentar ke tabel InnoDB?

  4. Ekspor database MySQL menggunakan PHP

  5. Tutorial MySQL – Mengelola Log Server MySQL:Putar, Kompres, Pertahankan &Hapus