python을 통해 접속할 때 기본 Mysql 연결 타임아웃을 변경하려면 어떻게 해야 합니까?
python을 사용하여 mysql 데이터베이스에 연결했습니다.con = _mysql.connect('localhost', 'dell-pc', '', 'test')
제가 만든 프로그램은 10시간 정도 풀실행에 많은 시간이 걸립니다.사실, 나는 말뭉치와 다른 단어들을 읽으려고 노력하고 있다.판독이 종료된 후 타임아웃 오류가 발생하였습니다.
Mysql의 디폴트 타임아웃을 확인했습니다.
+----------------------------+----------+
| Variable_name | Value |
+----------------------------+----------+
| connect_timeout | 10 |
| delayed_insert_timeout | 300 |
| innodb_lock_wait_timeout | 50 |
| innodb_rollback_on_timeout | OFF |
| interactive_timeout | 28800 |
| lock_wait_timeout | 31536000 |
| net_read_timeout | 30 |
| net_write_timeout | 60 |
| slave_net_timeout | 3600 |
| wait_timeout | 28800 |
+----------------------------+----------+
기본 타임아웃을 변경하려면 어떻게 해야 하나요?
작업:
con.query('SET GLOBAL connect_timeout=28800')
con.query('SET GLOBAL interactive_timeout=28800')
con.query('SET GLOBAL wait_timeout=28800')
매개 변수 의미(Navigator의 MySQL Workbench에서 가져온 의미:[ Instance ]> [ Options File ]> [ Networking ]> [ Timeout Settings ]섹션)
- connect_module:mysqld 서버가 '잘못된 핸드쉐이크'로 응답할 때까지 연결 패킷을 기다리는 시간(초)
- interactive_timeout 서버가 인터랙티브 연결을 닫을 때까지 인터랙티브 연결을 기다리는 시간(초)
- wait_timeout 서버가 연결을 닫을 때까지 연결에서 액티비티를 기다리는 시간(초)
BTW: 28800초는 8시간이기 때문에 10시간 실행 시에는 이 값이 실제로 더 커야 합니다.
MySQL 구성 파일에서 기본값을 변경합니다(mysqld 섹션의 connect_timeout 옵션).
[mysqld]
connect_timeout=100
이 파일에 액세스 할 수 없는 경우는, 다음의 스테이트먼트를 사용해 이 값을 설정할 수 있습니다.
SET GLOBAL connect_timeout=100;
오래된 질문인 것은 알지만, 참고로 이것은 적절한 접속 옵션을 인수로 전달함으로써 실행할 수도 있습니다._mysql.connect
예를 들어,
con = _mysql.connect(host='localhost', user='dell-pc', passwd='', db='test',
connect_timeout=1000)
키워드 파라미터(host, passwd 등)의 사용에 주의해 주십시오.코드의 가독성이 향상됩니다.
전달할 수 있는 다양한 인수에 대한 자세한 내용은_mysql.connect
MySQLdb API 매뉴얼을 참조하십시오.
또한 MAX_EXECUPUTION_TIME은 장기 실행 쿼리의 중요한 파라미터입니다.MySQL 5.7 이상에서 작동합니다.
현재 값을 확인합니다.
SELECT @@GLOBAL.MAX_EXECUTION_TIME, @@SESSION.MAX_EXECUTION_TIME;
그런 다음 필요에 따라 설정하십시오.
SET SESSION MAX_EXECUTION_TIME=2000;
SET GLOBAL MAX_EXECUTION_TIME=2000;
언급URL : https://stackoverflow.com/questions/14726789/how-can-i-change-the-default-mysql-connection-timeout-when-connecting-through-py
'programing' 카테고리의 다른 글
Python에서 공백에 문자열 분할 (0) | 2022.10.14 |
---|---|
A와 A가 없음인 경우: (0) | 2022.10.14 |
Java 드라이버를 사용하여 mongoDB에 마지막으로 삽입된 문서의 ID 가져오기 (0) | 2022.10.14 |
Epoch 시간을 날짜 시간으로 변환하는 중 (0) | 2022.10.05 |
URL 쿼리 문자열 매개 변수 가져오기 (0) | 2022.10.05 |