명령어 구문
VERSION이 제공되면 서버는 {name}-{version}.veb를 열고 매니페스트와 버전을 비교하며, 다를 경우 중단합니다:
{name}.veb를 설치하거나, 버전이 지정된 VEB만 존재하는 경우 유일하게 존재하는 {name}-{version}.veb를 설치합니다. 버전 선택을 참조하세요.
확장은 컴파일된 라이브러리와 메타데이터를 포함한
.veb(VillageSQL 확장 번들) 파일로 배포됩니다.버전 선택
veb_dir의 VEB 파일은 {name}.veb(버전 미지정) 또는 {name}-{version}.veb(버전 지정) 중 하나로 이름을 지정할 수 있습니다. 특정 버전의 VEB를 설치하려면 VERSION 절을 추가하세요:
VERSION을 사용하면 서버는 vsql_uuid-0.2.0.veb를 열고 해당 manifest.json의 버전이 0.2.0과 일치하는지 확인합니다.
VERSION이 없으면 서버는 다음과 같이 파일을 결정합니다:
{name}.veb가 존재하면 이를 설치하며, 버전은 해당manifest.json에서 읽습니다.- 그렇지 않고 정확히 하나의
{name}-{version}.veb가 존재하면 이를 설치하며, 파일 이름의 버전은 해당manifest.json과 대조하여 검증됩니다. - 그렇지 않으면 설치가 실패하며 버전을 지정해야 합니다.
확장 명명 규칙
VillageSQL은 다양한 맥락에서 다른 명명 규칙을 사용합니다:- SQL 명령어: 밑줄 사용:
INSTALL EXTENSION vsql_uuid - 저장소 이름: 하이픈 사용:
github.com/villagesql/vsql-uuid - 파일 이름: 밑줄 사용:
vsql_uuid.veb - manifest.json: SQL과 일치하도록 밑줄 사용:
"name": "vsql_uuid"
필수 권한
INSTALL EXTENSION, UNINSTALL EXTENSION 및 ALTER EXTENSION은 EXTENSION_ADMIN 동적 권한으로 보호됩니다. 이 문장들은 네이티브 확장 코드를 실행 중인 서버에 로드하므로 관리 권한이 필요하며, 권한이 없는 계정에서는 사용할 수 없습니다.
EXTENSION_ADMIN은 전역 범위(ON *.*)에서 부여되는 동적 권한입니다:
SUPER도 대체 권한으로 허용되므로, 이미 SUPER를 보유한 계정은 별도의 부여 없이 이 문장들을 실행할 수 있습니다.
--initialize 또는 --initialize-insecure로 생성된 데이터 디렉토리는 root@localhost에 EXTENSION_ADMIN을 직접 부여하므로, 새 서버에는 수동 부여가 필요하지 않습니다. 기존 데이터 디렉토리를 제자리에서 업그레이드하면 SUPER를 보유한 모든 사용자 계정에 EXTENSION_ADMIN이 부여됩니다. 단, 이미 이 권한을 보유한 계정이 하나도 없는 경우에만 부여되므로, 한 번 업그레이드된 서버는 이후 업그레이드에서 다시 채워지지 않습니다. 예약된 mysql.* 시스템 계정은 제외됩니다.
두 권한 중 어느 것도 보유하지 않은 계정은 확장 작업이 시작되기 전에 거부됩니다:
EXTENSION_ADMIN/SUPER를 확인하므로, 기존 세션은 취소 후에도 권한을 유지하지 않습니다. 바로 다음 문장에서 위에 표시된 것과 동일한 ERROR 1227 (42000)으로 실패합니다.
사전 요구 사항
- 실행 중인 VillageSQL 서버 인스턴스
- 관리자 접근 권한(루트 또는 동등한 계정)
내장 확장 설치
VillageSQL에 포함된 내장 확장은 이미 veb_dir에 있습니다. 간단히 활성화만 하면 됩니다:설치 확인
기능 테스트
외부 확장 설치
별도로 다운로드하거나 빌드한 확장의 경우:외부 확장을 설치하기 전에 서버에서
veb_dir이 구성되어 있어야 합니다. veb_dir 구성하기를 참조하세요.1. .veb 파일 복사
서버의 확장 디렉토리를 찾아.veb 파일을 해당 디렉토리로 복사합니다:
2. 확장 설치
VERSION 절을 포함하세요:
{name}-{version}.veb가 존재하지 않는 경우)이며, 앞서 표시된 Version mismatch in '<file>' 오류와는 다른 코드 경로입니다. 후자는 버전이 지정된 파일 자체가 존재할 때 발생합니다.
3. 설치 확인
문제 해결
추가 문제 해결은 확장 관리를 참조하세요.
다음 단계
확장 관리
설치된 확장 모니터링 및 문제 해결
사용 가능한 확장
설치 가능한 확장 탐색
확장 만들기
자체 확장 빌드

