복붙노트

[PYTHON] 파이썬을 통해 연결할 때 기본 Mysql 연결 시간 초과를 어떻게 바꿀 수 있습니까?

PYTHON

파이썬을 통해 연결할 때 기본 Mysql 연결 시간 초과를 어떻게 바꿀 수 있습니까?

나는 python con = _mysql.connect ( 'localhost', 'dell-pc', '', 'test')를 사용하여 mysql 데이터베이스에 연결했다. 필자가 쓴 프로그램은 완전한 실행, 즉 약 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    |
+----------------------------+----------+

기본 타임 아웃을 어떻게 바꿀 수 있습니까?

해결법

  1. ==============================

    1.해야 할 것:

    해야 할 것:

    con.query('SET GLOBAL connect_timeout=28800')
    con.query('SET GLOBAL wait_timeout=28800')
    con.query('SET GLOBAL interactive_timeout=28800')
    

    매개 변수 의미 (네비게이터의 MySQL Workbench : 인스턴스> 옵션 파일> 탭 "네트워킹"> 섹션 "제한 시간 설정"에서 가져옴)

    BTW : 28800 초는 8 시간이므로 10 시간의 실행 시간에는이 값이 실제로 높아야합니다.

  2. ==============================

    2.MySQL 설정 파일의 기본값을 변경합니다 (mysqld 섹션의 connect_timeout 옵션) -

    MySQL 설정 파일의 기본값을 변경합니다 (mysqld 섹션의 connect_timeout 옵션) -

    [mysqld]
    connect_timeout=100
    

    이 파일에 액세스 할 수없는 경우이 문을 사용하여이 값을 설정할 수 있습니다.

    SET GLOBAL connect_timeout=100;
    
  3. ==============================

    3.나는 이것이 낡은 질문이라는 것을 알고 있지만 단지 기록을 위해서 적절한 연결 옵션을 _mysql.connect 호출의 인수로 전달함으로써이를 수행 할 수있다. 예를 들어,

    나는 이것이 낡은 질문이라는 것을 알고 있지만 단지 기록을 위해서 적절한 연결 옵션을 _mysql.connect 호출의 인수로 전달함으로써이를 수행 할 수있다. 예를 들어,

    con = _mysql.connect(host='localhost', user='dell-pc', passwd='', db='test',
              connect_timeout=1000)
    

    키워드 매개 변수 (host, passwd 등)의 사용에 주목하십시오. 코드의 가독성을 향상시킵니다.

    _mysql.connect에 전달할 수있는 다른 인수에 대한 자세한 내용은 MySQLdb API 설명서를 참조하십시오.

  4. from https://stackoverflow.com/questions/14726789/how-can-i-change-the-default-mysql-connection-timeout-when-connecting-through-py by cc-by-sa and MIT license