728x90
ConnectionPool 생성하기
MySQL 커넥터 Python pooling.MySQLConnectionPool및 pooling.PooledMySQLConnection클래스를 사용하여 연결 풀을 만들고 관리
from mysql.connector import pooling
try:
connection_pool = pooling.MySQLConnectionPool(pool_name="pynative_pool",
pool_size=1,
pool_reset_session=True,
host='localhost',
database='python_db',
user='pynative',
password='pynative@#29')
- MySQLConnectionPool 인자
- pool_name: 풀 이름입니다. 보시다시피 연결 풀 이름으로 pynative_pool을 지정했습니다. 이 인수가 제공되지 않으면 MySQL 커넥터 Python은 호스트, 사용자 및 데이터베이스 이름을 사용하여 이름을 자동으로 설정합니다. 애플리케이션은 다른 이름으로 각 풀을 생성해야 합니다.
- pool_size: 풀 크기는 풀이 지원할 수 있는 연결 개체의 수입니다. 이 인수를 지정하지 않으면 기본값은 5입니다. 풀 크기는 0 또는 0보다 작을 수 없습니다.
- pool_reset_session: 연결이 풀로 반환되면 세션 변수를 재설정합니다.
- user, password, 및 database는 MySQL을 연결하기 위한 추가 연결 인수입니다.
ConnectionPool 가져오기
connection_obj = connection_pool.get_connection()
728x90
MySQL로 연결 풀을 생성, 관리 및 사용하는 Python 예제
from mysql.connector import Error
from mysql.connector import pooling
try:
connection_pool = pooling.MySQLConnectionPool(pool_name="pynative_pool",
pool_size=5,
pool_reset_session=True,
host='localhost',
database='python_db',
user='pynative',
password='pynative@#29')
print("Printing connection pool properties ")
print("Connection Pool Name - ", connection_pool.pool_name)
print("Connection Pool Size - ", connection_pool.pool_size)
# Get connection object from a pool
connection_object = connection_pool.get_connection()
if connection_object.is_connected():
db_Info = connection_object.get_server_info()
print("Connected to MySQL database using connection pool ... MySQL Server version on ", db_Info)
cursor = connection_object.cursor()
cursor.execute("select database();")
record = cursor.fetchone()
print("Your connected to - ", record)
except Error as e:
print("Error while connecting to MySQL using Connection pool ", e)
finally:
# closing database connection.
if connection_object.is_connected():
cursor.close()
connection_object.close()
print("MySQL connection is closed")
728x90
'Data Science > Python' 카테고리의 다른 글
[Python] Pandas DataFrame VS. SQL (0) | 2022.02.22 |
---|---|
[Python] Pandas replace (0) | 2022.02.22 |
[Python] Mysql에서 멀티 행을 Update & Insert 하는 코드 (0) | 2022.02.16 |
[Python] 대용량 데이터 처리 및 분석을 위한 PyArrow (Apache Arrow) (0) | 2022.02.16 |
[PYTHON] 유용한 정규식 모음 (0) | 2021.09.16 |
최근댓글