my sql 도 메 인 이름 분석 금지(원 격 으로 my sql 에 접근 할 때 느 립 니 다)

my sql 에 원 격 으로 접근 할 때 my sql 은 도 메 인 이름 을 분석 하여 접근 속도 가 느 릴 수 있 습 니 다.게다가 아래 설정 은 이 문 제 를 해결 할 수 있 습 니 다.my sql 은 도 메 인 이름 분석[my sqld]skip-name-resolve PHP 원 격 연결 MYSQL 속도 가 느 리 고 원 격 으로 MYSQL 에 연결 하 는 데 4-20 초 정도 걸 리 지 않 습 니 다.로 컬 연결 MYSQL 이 정상 적 입 니 다.이런 문제 가 발생 하 는 주요 원인 은...기본적으로 설 치 된 MYSQL 은 DNS 의 역 해석 을 열 었 고 MY.INI(WINDOWS 시스템 에서)나 MY.CNF(UNIX 또는 LINUX 시스템 에서)파일 의[mysqld]에 skip-name-resolve 라 는 문장 을 추가 했다.그러나 이 는 문제 가 될 수 있 습 니 다.my sql 을 연결 할 때 localhost 로 연결 할 수 없고 IP 주 소 를 사용 해 야 합 니 다.localhost 에 따라 사용자 에 게 권한 을 부여 한다 면 사용자 로그 인 권한 도 수정 해 야 합 니 다.mysql 속도 가 느 린 해결 방법 을 연결 합 니 다.서버 2 대,달리기 iis+php 1 대,달리기 mysql 1 대 는 이전 과 같이 환경 을 설정 합 니 다.테스트 페이지 의 모든 OK 달리기 응용 프로그램 을 테스트 할 때 php 가 mysql 에 접근 하 는 속도 가 매우 느 린 것 을 발 견 했 습 니 다.이런 상황 은 이전에 발견 한 적 이 없습니다.비록 2 대의 서버 가 같은 네트워크 에 있 는 것 은 아니 지만 ping 수 치 는 기본적으로 1,2ms 사이 입 니 다.tcp 연결 은 문제 가 아 닐 것 입 니 다.google 은 나중에 답 을 찾 았 습 니 다.my.ini 파일 의[my sqld]부분 에 가입:skip-name-resolve,파일 저장,my sql 을 다시 시작 합 니 다.모든 것 이 OK 입 니 다.속도 가 날 아 가 는 것 처럼 새 버 전의 my sql 설정 은 예전 의 그 바보 화 되 지 않 았 습 니 다.이 문 제 는 오전 내 내 나 를 괴 롭 혔 습 니 다.저녁 에 돌아 와 서 야 해결 되 었 습 니 다.헤헤,또 뭔 가 배 웠 어.Windows 2003 의 MySQL 5 서버 는 MySQL 에 연결 되 는 서비스 가 매우 빠 릅 니 다.랜 안에 리 눅 스 기계 가 두 대 있 고 연결 이 빠 릅 니 다.다른 한 대 는 비밀 번 호 를 입력 한 후에 몇 초 를 기 다 려 야 연결 할 수 있 습 니 다.해결 방법:MySQL 서버 설정 에 다음 설정 을 추가 하면 속도 가 빨 라 집 니 다.[mysqld]skip-name-resolve 부록:(MySQL 이 DNS 를 사용 하 는 방법)mysqld 에 새 스 레 드 가 연결 되면 mysqld 가 요청 을 처리 할 새 스 레 드 를 생 성 합 니 다.이 스 레 드 는 호스트 이름 이 호스트 이름 캐 시 에 있 는 지 먼저 확인 합 니 다.그렇지 않 으 면 gethostbyaddr 를 호출 합 니 다.r() and gethostbyname_r() to resolve the hostname. If the operating system doesn't support the above thread-safe calls, the thread will lock a mutex and call gethostbyaddr() and gethostbyname() instead. Note that in this case no other thread can resolve other hostnames that is not in the hostname cache until the first thread is ready. You can disable DNS host lookup by starting mysqld with --skip-name-resolve. In this case you can however only use IP names in the MySQL privilege tables. If you have a very slow DNS and many hosts, you can get more performance by either disabling DNS lookop with --skip-name-resolve or by increasing the HOST_CACHE_SIZE define(default:128)과 mysqld 를 다시 컴 파일 합 니 다.--skip-host-cache 로 hostname cache 를 비활성화 할 수 있 습 니 다.FLUSH HOSTS 또는 mysqladmin 플러시 호스트 로 hostname cache 를 지 울 수 있 습 니 다.TCP/IP 를 통한 연결 을 허용 하지 않 으 려 면 mysqld 를--skip-networking 으로 시작 하면 됩 니 다.PHP 원 격 연결 MYSQL 속도 가 느 리 고,때때로 MYSQL 에 원 격 으로 연결 하 는 데 4-20 초가 걸 리 고 로 컬 로 MYSQL 을 연결 하 는 것 이 정상 적 입 니 다.이러한 문제 가 발생 하 는 주요 원인 은 기본적으로 설 치 된 MYSQL 이 DNS 의 역방향 해석 을 열 었 기 때 문 입 니 다.MY.INI(WINDOWS 시스템 에서)나 MY.CNF(UNIX 또는 LINUX 시스템 에서)파일 의[mysqld]에 skip-name-resolve 라 는 문장 을 추가 합 니 다.MYSQL 원 격 연결 속도 가 느 린 해결 방법 은 랜 에서 다른 기 계 를 연결 하 는 MYSQL 입 니 다.속도 가 매우 느 린 것 을 발 견 했 습 니 다.무슨 원인 인지 모 르 겠 지만 몇 초 지연 되 었 습 니 다.나중에 인터넷 에서 해결 방법 을 발 견 했 습 니 다.my.ini 에

[mysqld]
skip-name-resolve
skip-grant-tables
를 추가 하면 속도 가 빨 라 집 니 다!skip-name-resolve 옵션 을 사용 하면 DNS 분석 을 사용 하지 않 고 연결 속도 가 훨씬 빨 라 집 니 다.그러나 이렇게 되면 MySQL 의 권한 수여 표 에서 호스트 이름 을 사용 할 수 없고 ip 형식 만 사용 할 수 있 습 니 다.Cskip-grant-tables 시스템 을 사용 하면 모든 사용자 의 접근 을 제어 하지 않 지만 my sqladmin flush-privileges 나 my sqladmin reload 로 접근 통 제 를 시작 할 수 있 습 니 다.기본 적 인 상황 은 show databases 문 구 를 모든 사용자 에 게 개방 하 는 것 입 니 다.my sql 서버 가 원 격 계 정 을 열지 않 으 면 my.ini 에 skip-grant-tables 를 추가 합 니 다.

좋은 웹페이지 즐겨찾기