programing

python mysql /mariaDB 데이터베이스 오류 (2013년, '쿼리 중 MySQL 서버와의 연결 끊김')

bestprogram 2023. 9. 9. 09:47

python mysql /mariaDB 데이터베이스 오류 (2013년, '쿼리 중 MySQL 서버와의 연결 끊김')

MariaDB에서 롱런 쿼리를 실행하려고 하는데 항상 5분(300초)만에 오류가 발생하여 이 오류가 발생합니다(2013년 '쿼리 중 MySQL 서버 연결 끊김').내 쿼리를 데이터베이스에서 직접 실행하면 시간 초과 오류가 발생하지 않습니다.

포럼에서 유사한 다른 주제를 읽었지만 아무 것도 작동하지 않습니다.

MariaDB는 다음과 같이 설정됩니다.

('connect_timeout', '36000')
('delayed_insert_timeout', '3600')
('idle_readonly_transaction_timeout', '0')
('idle_transaction_timeout', '0')
('idle_write_transaction_timeout', '0')
('innodb_flush_log_at_timeout', '1')
('innodb_lock_wait_timeout', '36000')
('innodb_rollback_on_timeout', 'OFF')
('interactive_timeout', '28800')
('lock_wait_timeout', '86400')
('net_read_timeout', '3600')
('net_write_timeout', '3600')
('rpl_semi_sync_master_timeout', '10000')
('rpl_semi_sync_slave_kill_conn_timeout', '5')
('slave_net_timeout', '3600')
('thread_pool_idle_timeout', '3600')
('wait_timeout', '36000')
('max_allowed_packet', '1073741824')
('slave_max_allowed_packet', '1073741824')

이 간단한 코드를 사용하여 시뮬레이션할 수 있습니다.

import os
from datetime import datetime
from dotenv import load_dotenv
from sqlalchemy import create_engine

load_dotenv()

engine = create_engine(os.getenv('mysqlConn'), connect_args={'connect_timeout': 3600,'read_timeout': 3600,'write_timeout': 3600})

qry = ''' 
select SLEEP(310);
'''
records  = engine.execute(qry)

이 오류가 발생하지 않도록 설정해야 하는 다른 사항이 있습니까?

언급URL : https://stackoverflow.com/questions/73074448/python-mysql-mariadb-database-error-2013-lost-connection-to-mysql-server-dur