>데이터 베이스 >MySQL 튜토리얼 >대규모 데이터 세트를 처리할 때 '쿼리 중 MySQL 서버에 대한 연결 끊김' 오류를 수정하는 방법은 무엇입니까?

대규모 데이터 세트를 처리할 때 '쿼리 중 MySQL 서버에 대한 연결 끊김' 오류를 수정하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2025-01-04 05:38:38862검색

How to Fix

"쿼리 중 MySQL 서버 연결 끊김" 오류 처리 방법

매우 큰 데이터 세트로 작업할 때 "MySQL 서버 연결 끊김" 오류가 발생하는 것이 일반적입니다. 쿼리하는 동안." 이 오류는 데이터 행 반복 중에 발생하여 연결이 끊어지고 마지막으로 실행된 SQL 쿼리 위치가 모호해집니다.

향상된 코드 샘플

이 문제를 해결하기 위해 다음 코드 샘플은 다음을 활용합니다. 쿼리 실패 시 자동 재연결을 지원하는 MySQLdb 라이브러리의 SSCursor:

import MySQLdb

class DB:
    conn = None

    def connect(self):
        self.conn = MySQLdb.connect(
            "hostname", "user", "*****", "some_table", cursorclass=MySQLdb.cursors.SSCursor
        )

    def query(self, sql):
        cursor = self.conn.cursor()
        cursor.execute(sql)
        return cursor

#
db = DB()
sql = "SELECT bla FROM foo"
data = db.query(sql)

for row in data:
    do_something(row)

문제 해결 팁

오류가 지속되면 해당 오류에 대한 MySQL 설명서를 참조하세요. 가능한 원인은 다음과 같습니다:

  • 잘못되거나 너무 큰 쿼리: 너무 크거나 오류가 포함된 쿼리는 연결 종료를 유발할 수 있습니다. 서버의 max_allowed_packet 변수를 늘리고 클라이언트 측 패킷 크기를 조정하면 이 문제가 해결될 수 있습니다.
  • 경고: --log-warnings=2 옵션으로 MySQL을 시작하면 다음에 대한 정보가 포함된 로그 파일이 생성됩니다. 연결이 끊어진 오류. 이를 통해 문제의 원인을 더 자세히 파악할 수 있습니다.

위 내용은 대규모 데이터 세트를 처리할 때 '쿼리 중 MySQL 서버에 대한 연결 끊김' 오류를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.