이 기사에서는 주로 MySql에서 Skip-name-Resolve를 사용하여 느린 외부 네트워크 링크 클라이언트 문제를 해결하는 방법을 공유합니다. Tencent Cloud에 구축된 MySQL은 개발 컴퓨터에서 Navicat으로 액세스할 때 항상 매우 느립니다. MySQL은 요청한 주소에 대해 도메인 이름 확인을 수행하는데 개발 컴퓨터에는 도메인 이름이 없으므로 매우 느릴 것입니다. .
Tencent Cloud에 구축된 Mysql은 개발 컴퓨터에서 Navicat을 사용하여 접속할 때 항상 매우 느립니다. 그런데 알고 보니 Mysql은 요청한 주소에 대해 도메인 이름 확인을 수행하는데, 개발 컴퓨터에는 도메인 이름이 없기 때문에 이렇게 됩니다. 특히 느립니다.
[mysqld] skip-name-resolve skip-grant-tables
공식 설명
MySQL
이 DNS를 사용하는 방법 새 스레드가 mysqld에 연결되면 mysqld는
새 스레드를 생성하여 요청을 처리합니다. 호스트 이름은 호스트 이름 캐시에 있습니다. 그렇지 않은 경우 스레드는
gethostbyaddr_r() 및 gethostbyname_r()을 호출하여 호스트 이름을 확인합니다.
운영 체제가 위의 스레드 안전 호출을 지원하지 않으면
스레드가 뮤텍스를 잠급니다. 대신 gethostbyaddr() 및 gethostbyname()을 호출하세요. 이 경우 첫 번째 스레드가 준비될 때까지 호스트 이름 캐시에 없는 다른 호스트 이름을 확인할 수 없습니다. mysqld를 시작하여 DNS 호스트 조회를 비활성화할 수 있습니다.
–skip -name-resolve. 그러나 이 경우에는 MySQL 권한 테이블에서만 IP 이름을 사용할 수 있습니다. DNS가 매우 느리고 호스트가 많은 경우에는 다음을 사용하여 DNS 조회
를 비활성화하여 더 많은 성능을 얻을 수 있습니다. Skip-name -resolve 또는 HOST_CACHE_SIZE 정의
(기본값: 128)를 늘리고 mysqld를 다시 컴파일하여 –skip-host-cache를 사용하여 호스트 이름
캐시를 비활성화할 수 있습니다.
FLUSH HOSTS 또는 mysqladmin 플러시를 사용하여 호스트 이름 캐시를 지울 수 있습니다. TCP/IP를 통한
연결을 허용하지 않으려면
–skip-networking으로 mysqld를 시작하면 됩니다.
문서에 따르면 mysql 호스트가 DNS 쿼리 속도가 느리거나 DNS 쿼리가 많은 경우입니다. 클라이언트 호스트 때로는 연결이 매우 느려질 수 있습니다. 개발 시스템이 외부 네트워크에 연결할 수 없기 때문에 DNS 확인을 완료할 수 없으므로 연결이 왜 그렇게 느린지 이해합니다. 동시에, 이 구성 매개변수를 추가한 후 mysql 인증 테이블의 호스트 필드는 도메인 이름 확인을 금지하는 결과이기 때문에 도메인 이름을 사용할 수 없고 IP 주소만 사용할 수 있다는 점에 유의하세요.
관련 권장 사항:
python http 긴 연결 클라이언트 인스턴스 튜토리얼
위 내용은 MySql은 외부 네트워크 연결 클라이언트가 너무 느리다는 문제를 해결하기 위해 Skip-name-resolve를 사용합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!