현재 위치: > 최신 기사 목록> MySQL_Connect 함수를 통해 데이터베이스에 대한 지속적인 연결을 구현하는 방법은 무엇입니까? 자세한 단계 분석

MySQL_Connect 함수를 통해 데이터베이스에 대한 지속적인 연결을 구현하는 방법은 무엇입니까? 자세한 단계 분석

gitbox 2025-09-11

PHP에서는 MySQL 데이터베이스에 연결하는 것이 웹 애플리케이션을 개발할 때 일반적인 작업입니다. 다양한 방식으로 데이터베이스 연결을 만들 수 있으며 MySQL_Connect () 함수를 사용하여 지속적인 연결을 구현하는 전형적인 방법입니다. 이 기사는 MySQL_Connect () 함수를 통해 데이터베이스의 지속적인 연결을 구현하는 방법과 작동 원리 및 실제 응용 프로그램을 자세히 분석합니다.

지속적인 연결이란 무엇입니까?

지속적인 연결은 연결이 설정되면 스크립트가 실행 된 후에는 닫히지 않지만 다음 스크립트 요청을 기다릴 때 연결 상태를 유지하고 재사용됩니다. 이 방법은 연결을 자주 설정하고 폐쇄하는 오버 헤드를 줄일 수 있으며 특히 더 많은 요청이있는 응용 프로그램 시나리오에 적합합니다. 대조적으로, 정기적 인 연결은 스크립트가 실행될 때마다 새로운 데이터베이스 연결을 설정하고 실행 후 닫는 것입니다.

MySQL_Connect를 사용하여 지속적인 연결을 달성하십시오

PHP에서 MySQL_Connect () 함수를 사용하여 지속적인 연결을 설정할 수 있습니다. 기본 구문은 다음과 같습니다.

 <span><span><span class="hljs-title function_ invoke__">mysql_connect</span></span><span>(</span><span><span class="hljs-string">'hostname'</span></span><span>, </span><span><span class="hljs-string">'username'</span></span><span>, </span><span><span class="hljs-string">'password'</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>);
</span></span>
  • '호스트 이름' : 데이터베이스 서버의 호스트 주소, 일반적으로 LocalHost 또는 IP 주소.

  • '사용자 이름' : 데이터베이스에 연결하는 데 사용되는 사용자 이름입니다.

  • '비밀번호' : 사용자 이름에 해당하는 비밀번호.

  • 네 번째 매개 변수 지속적인 연결을 설정하는 것을 의미합니다.

지속적인 연결과 정상 연결의 차이

  1. 연결 종료 메커니즘 :

    • 정상 연결 : 스크립트가 실행될 때마다 연결이 닫힙니다.

    • 영구 연결 : 스크립트가 실행 되더라도 후속 요청을 재사용 할 수 있도록 연결은 활성화되어 있습니다.

  2. 성능 차이 :

    • 지속적인 연결은 데이터베이스 연결 설정 및 파괴의 오버 헤드, 특히 장기적인 웹 애플리케이션 또는 동시 애플리케이션을 위해 더 나은 성능을 제공합니다.

    • 일반 연결은 일반적인 연결이 요청 될 때마다 새로운 연결을 만들어야하므로 동시성 환경이 높은 성능 병목 현상으로 이어질 수 있습니다.

  3. 지속적인 연결의 가장 큰 이점 :

    • 효율성 : 데이터베이스 연결의 중복 설정을 줄입니다.

    • 자원 저장 : 연결 풀은 특정 기간 동안 확립 된 연결을 재사용합니다.

지속적인 연결을 구현하기위한 단계

1 단계 : MySQL 구성이 지속적인 연결을 지원하는지 확인하십시오

먼저 MySQL 구성 파일에서 영구 연결 기능이 활성화되어 있는지 확인해야합니다. MySQL의 구성 파일 ( my.cnf 또는 my.ini )에서 다음 구성을 확인할 수 있습니다.

 <span><span><span class="hljs-section">[mysqld]</span></span><span>
skip-name-resolve
</span><span><span class="hljs-attr">wait_timeout</span></span><span> = </span><span><span class="hljs-number">28800</span></span><span>
</span><span><span class="hljs-attr">interactive_timeout</span></span><span> = </span><span><span class="hljs-number">28800</span></span><span>
</span></span>
  • Skip-name Resolve : 연결할 때마다 DNS 쿼리를 피하기 위해 DNS 역 분해능을 비활성화합니다.

  • Wait_TimeoutInteractive_timeout : 연결 시간을 설정하여 연결이 너무 일찍 닫히지 않도록합니다.

2 단계 : mysql_connect () 함수를 사용하여 지속적인 연결을 설정합니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 사용mysql_connect지속적인 연결을 설정하십시오</span></span><span>
</span><span><span class="hljs-variable">$link</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysql_connect</span></span><span>(</span><span><span class="hljs-string">'localhost'</span></span><span>, </span><span><span class="hljs-string">'root'</span></span><span>, </span><span><span class="hljs-string">'password'</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-variable">$link</span></span><span>) {
    </span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">'Could not connect: '</span></span><span> . </span><span><span class="hljs-title function_ invoke__">mysql_error</span></span><span>());
}

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'Connected successfully!'</span></span><span>;
</span><span><span class="hljs-comment">// 다른 데이터베이스 작업...</span></span><span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

이 코드에서는 mysql_connect () 의 네 번째 매개 변수가 true 로 설정되어 지속적인 연결이 필요함을 나타냅니다. 연결이 성공한 후에는 데이터베이스 작업이 계속 실행될 수 있습니다.

3 단계 : 데이터베이스 작업을 수행합니다

지속적인 연결이 설정되면 정기적 인 데이터베이스 작업을 수행 할 수 있습니다. 예를 들어, 데이터베이스를 선택하고 쿼리를 실행하십시오.

 <span><span><span class="hljs-title function_ invoke__">mysql_select_db</span></span><span>(</span><span><span class="hljs-string">'my_database'</span></span><span>, </span><span><span class="hljs-variable">$link</span></span><span>);

</span><span><span class="hljs-comment">// 구현하다SQL질문</span></span><span>
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysql_query</span></span><span>(</span><span><span class="hljs-string">'SELECT * FROM users'</span></span><span>, </span><span><span class="hljs-variable">$link</span></span><span>);

</span><span><span class="hljs-keyword">while</span></span><span> (</span><span><span class="hljs-variable">$row</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysql_fetch_assoc</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$row</span></span><span>[</span><span><span class="hljs-string">'username'</span></span><span>] . </span><span><span class="hljs-string">'&lt;br&gt;'</span></span><span>;
}
</span></span>

4 단계 : 연결을 닫습니다 (선택 사항)

지속적인 연결의 경우 일반적으로 활성화되고 재사용되므로 연결을 수동으로 닫을 필요는 없습니다. 그러나 특별한 요구가있는 경우 명시 적 마감을 위해 MySQL_Close () 에 전화 할 수도 있습니다.

 <span><span><span class="hljs-title function_ invoke__">mysql_close</span></span><span>(</span><span><span class="hljs-variable">$link</span></span><span>);
</span></span>

지속적인 연결 사용에 대한 참고 사항

  1. 연결 풀링 한도 :

    • 영구 연결을 사용하는 경우 MySQL 데이터베이스의 연결 풀에 최대 연결 제한이있을 수 있습니다. 데이터베이스 연결이 너무 많으면 연결 풀이 소진 될 수 있습니다.

  2. 세션 상태 문제 :

    • 영구 연결은 설정된 변수와 같은 마지막 연결의 세션 상태를 저장합니다. 여러 스크립트가 다른 세션 설정에 의존하는 경우 충돌이 발생할 수 있습니다.

  3. 자원 직업 :

    • 지속적인 연결은 성능을 향상시킬 수 있지만 많은 연결이 닫히지 않은 것처럼 MySQL 서버 리소스가 부족할 수 있습니다.

  4. 보안 문제 :

    • 영구 연결을 사용하는 경우 데이터베이스 연결은 수명주기가 길다. 악의적 인 사용자가 지속적인 연결을 남용하지 않도록 연결 정보 (예 : 사용자 이름 및 비밀번호)가 유출되지 않도록하십시오.

요약

MySQL_Connect () 함수를 통해 구현 된 지속적인 연결은 데이터베이스 연결을 자주 설정하고 파괴하는 오버 헤드를 효과적으로 줄일 수 있으며, 동시성이 높고 데이터베이스에 대한 자주 액세스가있는 응용 프로그램 시나리오에 특히 적합합니다. 그러나 지속적인 연결을 사용할 때는 데이터베이스 연결 풀의 최대 연결 수가 실제 요구를 충족 할 수 있도록 리소스 관리, 세션 충돌 및 기타 문제에주의를 기울여야합니다. 일반적으로, 합리적인 구성 및 지속적인 연결의 사용은 PHP 데이터베이스 응용 프로그램의 성능을 향상시키는 효과적인 수단입니다.