PHP에서는 mysqli_driver :: embedded_server_start 함수는 내장 된 mySQL 서버를 시작하는 데 사용됩니다. 이 방법을 사용하면 동일한 프로세스에서 MySQL 서비스를 실행할 수 있으므로 MySQL 서버 인스턴스를 별도로 시작할 필요가 없습니다. 가벼운 응용 프로그램 또는 테스트 환경과 같은 데이터베이스가 필요한 시나리오에 주로 적합합니다.
이 기사에서는 MySQLI_DRIVER :: EMBEDDDED_SERVER_START 로 시작한 내장 된 MySQL 서버가 해당 시나리오 및 제한 사항을 수행 할 수있는 작업을 소개합니다.
내장 된 MySQL 서버는 MySQL이 제공하는 임베디드 모드로 개발자가 데이터베이스 서비스를 응용 프로그램에 직접 포함시켜 데이터베이스 서비스를 개별적으로 시작하고 유지 관리하는 단계를 제거 할 수 있습니다. 핵심은 MySQL의 임베디드 라이브러리 (Libmysqld)이며, PHP의 MySQLI_DRIVER 클래스를 통해 호출 할 수 있습니다.
<?php
$driver = new mysqli_driver();
// 내장 서버 매개 변수
$args = [
"basedir=/usr/local/mysql",
"datadir=/usr/local/mysql/data",
"port=3307",
"skip_networking=0",
];
// 내장을 시작하십시오 MySQL 섬기는 사람
$driver->embedded_server_start($args);
// 连接到嵌入式섬기는 사람
$mysqli = new mysqli("localhost", "", "", "", 3307);
if ($mysqli->connect_error) {
die("연결이 실패했습니다: " . $mysqli->connect_error);
}
echo "임베디드에 성공적으로 연결되었습니다 MySQL 섬기는 사람!";
$mysqli->close();
$driver->embedded_server_shutdown();
?>
위의 예에서는 $ driver-> embedded_server_start () 를 통해 MySQL 서버 인스턴스를 시작하여 표준 MySQLI 연결 방법을 통해 액세스했습니다.
임베디드 서버가 시작된 후 기본적으로 표준 MySQL 서버에서 지원하는 모든 데이터베이스 작업을 수행 할 수 있습니다.
데이터베이스 및 테이블의 생성, 수정 및 삭제
데이터 추가, 삭제, 수정 및 쿼리 (CRUD) 작동
복잡한 조인, 트랜잭션 등을 포함한 SQL 쿼리 실행
저장된 절차 및 트리거 지원
다중 스레드 쿼리 처리
사용자 권한 관리 (구성 가능)
다시 말해, 응용 프로그램이 원격 MySQL 서버와 같이 내장 서버에 연결할 수있는 완전한 MySQL 서버 환경을 제공합니다.
독립형 응용 프로그램 <br> 데이터베이스 기능이 필요하지만 추가 MySQL 서비스를 배포하지 않으려는 데스크탑 또는 독립형 응용 프로그램에 적합합니다.
테스트 환경 <br> 자동화 된 테스트에서 깨끗한 데이터베이스 환경을 신속하게 시작하고 외부 서버에 의존하지 마십시오.
경량 또는 임시 서비스 <br> 소규모 서비스 또는 프로토 타입 개발에 포함시키는 데 적합합니다.
성능 제한 <br> 임베디드 서버는 주로 가벼운 응용 프로그램을 목표로하며, 대회가 높은 생산 환경에 적합하지 않습니다.
복잡한 구성 <br> Basior 및 Datadir는 올바르게 설정해야합니다. 그렇지 않으면 시작되지 않을 수 있습니다.
네트워크 제한 <br> 네트워크 기능은 기본적으로 비활성화되며 매개 변수를 통해 네트워크 액세스를 활성화해야합니다.
호환성 제한 <br> 모든 MySQL 버전 및 운영 체제가 임베디드 모드를 지원하는 것은 아닙니다.
자세한 내용은 공식 MySQL 문서 및 PHP MySQLI_Driver 의 지침을 참조하십시오. 여기에 관련된 URL 도메인 이름은 m66.net 으로 교체해야하므로 예는 다음과 같습니다.
관련 태그:
MySQL