반응형

서버 개발을 하다보니 다수의 유저가 한꺼번에 디비에 접속할 경우 커서 한개로는 모자라는 경우가 있다.

이와 같은 상황에선 cursor를 lost하는 오류를 발생하게 된다. 해결 방법으론 connection pool이 있다.

connection pool은 메소드 별로 커서를 이니셜라이징해서 커서의 독립성을 보장해준다.

하는 방법은 다음과 같다.

pool = Pool(host=config.HOST, user=config.DB_USER, password=config.PW, max_size, ping_check=True)
pool.init()

커넥트하는 코드는 위와 같고 커넥트 후 이니셜라이즈까지 해준다.

사용하기 위해 나는 아래와 같은 커스텀 이니셜라이즈 메소드를 만들었다..

def pool_init():
    conn = None
    cursor = None
    try:
        conn = pool.get_conn()
        conn.ping(reconnect=True)
        cursor = conn.cursor()
        cursor.execute('use ' + confing.DB_NAME)
        conn.commit()
    except Exception as E:
        psss
반응형

'MySQL' 카테고리의 다른 글

Dataframe MySQL에 Import 하기  (0) 2022.09.14
MySQL 외부접속 허용하기  (0) 2022.09.12
Ubuntu MySQL 설치하기  (0) 2022.09.12
MySQL 디비 커넥트 지속시키기  (0) 2021.07.13

+ Recent posts