Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Python mất kết nối với cơ sở dữ liệu MySQL sau khoảng một ngày

Tôi có việc phải làm bây giờ. Sử dụng kết nối tổng hợp dường như giải quyết được vấn đề cho tôi.

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

Tôi gọi connection() trước mỗi hàm truy vấn và sau đó đóng con trỏ và kết nối trước khi quay lại. Có vẻ hiệu quả. Tuy nhiên, vẫn mở ra một giải pháp tốt hơn.

Chỉnh sửa

Tôi đã tìm ra một giải pháp tốt hơn. (Tôi vẫn thỉnh thoảng gặp sự cố với các kết nối được gộp chung). Thực sự có một thư viện dành riêng cho Flask để xử lý các kết nối mysql, gần như là một thư viện thay thế.

Từ bash:pip install Flask-MySQL

Thêm MYSQL_DATABASE_HOST , MYSQL_DATABASE_USER , MYSQL_DATABASE_PASSWORD , MYSQL_DATABASE_DB vào cấu hình Flask của bạn. Sau đó, trong tệp Python chính chứa đối tượng Ứng dụng Flask của bạn:

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

Và để có kết nối:mysql.get_db().cursor()

Tất cả các cú pháp khác đều giống nhau, và tôi đã không gặp bất kỳ vấn đề nào kể từ đó. Tôi đã sử dụng giải pháp này trong một thời gian dài.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Triển khai Cơ sở dữ liệu quan hệ MySQL trên Ubuntu 12.04 (Precise Pangolin)

  2. MySQL:So sánh GIỮA thời gian

  3. Giả lập mệnh đề MySQL LIMIT trong Microsoft SQL Server 2000

  4. Truy vấn Mysql trong khoảng cách

  5. xóa hàng trong cơ sở dữ liệu của tôi bằng php pdo