MySQLdb: 자동 클라이언트 재연결 활성화
Python에서 MySQLdb 라이브러리는 MySQL 데이터베이스와 상호 작용하는 편리한 방법을 제공합니다. 일반적인 문제 중 하나는 일시적인 중단에도 불구하고 지속적인 연결을 유지하는 것입니다.
이 문제를 해결하기 위해 PHP에는 MySQL 옵션과 관련된 솔루션이 있지만 사용자는 이를 MySQLdb로 복제하는 데 어려움을 겪습니다.
해결책 :
MySQLdb에서 자동 재연결을 활성화하는 핵심은cursor.execute()를 래핑하는 데 있습니다.
다음 Python 코드는 솔루션을 보여줍니다.
import MySQLdb class DB: conn = None def connect(self): self.conn = MySQLdb.connect() def query(self, sql): try: cursor = self.conn.cursor() cursor.execute(sql) except (AttributeError, MySQLdb.OperationalError): self.connect() cursor = self.conn.cursor() cursor.execute(sql) return cursor # Example usage db = DB() sql = "SELECT * FROM foo" cur = db.query(sql) # Sleep for a long time to simulate connection timeout time.sleep(60 * 60 * 24) cur = db.query(sql) # Connection is still valid and usable
이 접근 방식에서 query() 함수는 사용자를 대신하여 연결을 관리하여 끊어진 연결이 다시 복구되도록 합니다. 자동으로 설정됩니다.
위 내용은 Python의 영구 연결을 위해 MySQLdb에서 자동 클라이언트 재연결을 활성화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!