mysql 라이브러리를 쿼리할 때 데이터 양이 상대적으로 많을 경우 항상 세션이 중단됩니다. 처음에는 mysql 및 연결 관련 타임아웃 문제인 줄 알았으나, 알고 보니 네트워크 불안정의 원인이었습니다. 이번 글은 주로 MySQL과 연결 관련 타임아웃에 대한 자세한 내용을 소개하고 있습니다. 필요한 친구들이 참고하시면 도움이 될 것 같습니다.
다음은 연결과 관련된 시간 초과를 요약한 것입니다.
slave-net-timeout
슬레이브가 연결이 끊어졌다고 간주하고 읽기를 중단하고 시도하기 전에 마스터로부터 추가 데이터를 기다리는 시간(초)입니다. 재시도 간격은 CHANGE MASTER TO 문의 MASTER_CONNECT_RETRY 옵션에 의해 제어되며, 재연결 시도 횟수는 --master-retry-count 옵션에 의해 제한됩니다. 는 3600초(1시간)입니다.
슬레이브는 마스터와의 연결에 문제가 있다고 판단하면 N초를 기다린 후 마스터와의 연결을 끊었다가 다시 연결합니다
net_read_timeout:
초 단위 읽기를 중단하기 전에 연결에서 더 많은 데이터를 기다리는 경우, net_read_timeout은 중단 시기를 제어하는 시간 초과 값입니다. 읽기를 중단하기 전에 연결에서 데이터를 얻기 위해 기다려야 하는 시간(초)입니다. 서버가 클라이언트에서 읽는 중이면 net_read_timeout은 중단 시기를 제어하는 시간 초과 값입니다. 데이터를 읽을 때 net_read_timeout은 시간 초과 시기를 제어합니다.
net_write_timeout:
쓰기를 종료하기 전에 연결에 블록 쓰기를 기다리는 시간(초), 서비스가 클라이언트에 데이터를 쓸 때 net_write_timeout은 시간 초과 시기를 제어합니다.
wait_timeout
서버에 의해 강제로 종료될 때까지 서버와의 상호작용 없이 연결을 기다리는 시간
interactive_timeout:
서버에 의해 강제로 종료될 때까지 서버와 상호 작용 없이 연결하는 데 걸리는 시간
connect_timeout
connect_timeout: 연결 획득 단계(인증)에서 작동합니다.
net_read_timeout 및 net_write_timeout : 연결(쿼리)의 사용 단계에서 작동합니다.
js 함수 실행 프로세스를 확인하기 위한 setTimeout 설명 예시
위 내용은 MySQL 및 관련 시간 초과에 대한 자세한 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!