Azure Database for MySQL - 유연한 서버의 제한 사항
이 문서에서는 Azure Database for MySQL - 유연한 서버의 제한 사항에 대해 설명합니다. MySQL 데이터베이스 엔진의 일반적인 제한 사항도 적용됩니다. 리소스 제한 사항(컴퓨팅, 메모리, 스토리지)에 대해 알아보려면 컴퓨팅 및 스토리지에 대한 문서를 참조하세요.
서버 매개 변수
Azure Database for MySQL - 유연한 서버는 서버 매개 변수 값 조정을 지원합니다. 일부 매개 변수의 최소값과 최대값(예: max_connections
, , join_buffer_size
query_cache_size
)은 컴퓨팅 계층 및 서버 크기를 계산하기 전에 결정됩니다. 이러한 제한에 대한 자세한 내용은 서버 매개 변수와 같은 max_connections
서버 매개 변수의 최소값 및 최대값과 innodb_buffer_pool_size
함께 서버 매개 변수에 대한 문서를 참조하세요.
생성되는 보이지 않는 기본 키
MySQL 버전 8.0 이상의 경우 생성된 보이지 않는 기본 키(GIPK) 는 기본적으로 모든 Azure Database for MySQL - 유연한 서버 인스턴스에 대해 사용하도록 설정됩니다.
MySQL 8.0 이상 서버는 테이블과 해당 열의 기본 키에 보이지 않는 열을 my_row_id
추가합니다. 여기서 InnoDB 테이블은 명시적 기본 키 없이 만들어집니다. 따라서 테이블 만들기 문에서 명시적 기본 키를 지정하지 않는 한 열이 있는 my_row_id
테이블을 만들 수 없습니다. 자세히 알아보기.
기본적으로 GIPK는 SHOW CREATE TABLE, SHOW COLUMNS 및 SHOW INDEX의 출력에 표시됩니다. GIPK는 COLUMNS 및 STATISTICS 테이블에도 표시됩니다 INFORMATION_SCHEMA
.
데이터 입력 복제를 사용하는 GIPK 및 해당 사용 사례에 대한 자세한 내용은 Azure Database for MySQL - 유연한 서버로 데이터 복제를 참조하세요.
GIPK를 사용하지 않도록 설정하는 단계
GIPK를 사용하지 않도록 설정하려면 다음 두 가지 옵션이 있습니다.
Azure Portal 또는 Azure CLI를 사용하여 sql_generate_invisible_primary_key 서버 매개 변수
OFF
의 값을 변경합니다.Azure Database for MySQL - 유연한 서버 인스턴스에 연결하고 다음 명령을 실행합니다.
mysql> SET sql_generate_invisible_primary_key=OFF;
lower_case_table_names
Azure Database for MySQL - 유연한 서버에서 기본값 lower_case_table_names
은 1
MySQL 버전 5.7입니다. 이 설정을 조정해야 하는 경우 지원 티켓을 만드는 것이 좋습니다. 매개 변수 값을 변경한 후에는 매개 변수 값을 2
되돌릴 수 없다는 것을 1
이해하는 것이 중요합니다.
MySQL 버전 8.0의 경우 서버를 초기화한 후 설정을 변경하는 lower_case_table_names
것은 금지됩니다. 자세히 알아보기. Azure Database for MySQL - 유연한 서버에서 기본값 lower_case_table_names
은 1
MySQL 버전 8.0입니다. 이 매개 변수를 2
변경하려면 MySQL 5.7 서버를 만들고 변경에 대한 지원을 위한 지원 티켓을 만드는 것이 좋습니다. 나중에 필요한 경우 서버를 버전 8.0으로 업그레이드할 수 있습니다.
스토리지 엔진
MySQL은 많은 스토리지 엔진을 지원합니다. 다음 목록에서는 Azure Database for MySQL - 유연한 서버에서 지원 및 지원되지 않는 스토리지 엔진을 보여 줍니다.
지원되는 엔진
지원되지 않는 엔진
권한 및 데이터 조작 지원
많은 서버 매개 변수 및 설정이 실수로 서버 성능을 저하하거나 MySQL 서버의 ACID(원자성, 일관성, 격리 및 지속성) 속성을 부정할 수 있습니다. 제품 수준에서 서비스 무결성 및 서비스 수준 계약을 유지하기 위해 Azure Database for MySQL - 유연한 서버는 여러 역할을 노출하지 않습니다.
Azure Database for MySQL - 유연한 서버는 기본 파일 시스템에 대한 직접 액세스를 허용하지 않습니다. 일부 데이터 조작 명령은 지원되지 않습니다.
지원되는 권한
LOAD DATA INFILE
는 지원되지만 매개 변수를[LOCAL]
지정하고 UNC 경로(서버 메시지 블록을 통해 탑재된 Azure Storage)로 전달해야 합니다. MySQL 클라이언트 버전 8.0 이상을 사용하는 경우 연결 문자열 매개 변수를-–local-infile=1
포함해야 합니다.MySQL 버전 8.0 이상에서는 다음 동적 권한 만 지원됩니다.
지원되지 않는 권한
데이터베이스 관리자(DBA) 역할이 제한됩니다. 또는 새 서버를 만드는 동안 할당된 관리자 사용자의 역할을 사용할 수 있습니다. 이 역할을 사용하면 대부분의 DDL(데이터 정의 언어) 및 DML(데이터 조작 언어) 문을 수행할 수 있습니다.
다음과 같은 정적 권한이 제한됩니다.
BACKUP_ADMIN 권한 부여는 마이그레이션 도구를 사용하여 백업을 수행하는 데 지원되지 않습니다.
DEFINER
에는SUPER
만들 권한이 필요하고 제한됩니다. 백업을 사용하여 데이터를 가져오는 경우 명령을 수동으로 제거CREATE DEFINER
하거나 mysqlpump 백업을 수행할 때 명령을 사용합니다--skip-definer
.mysql 시스템 데이터베이스는 읽기 전용이며 다양한 PaaS(Platform as a Service) 기능을 지원합니다.
mysql
시스템 데이터베이스로 변경할 수 없습니다.SELECT ... INTO OUTFILE
는 서비스에서 지원되지 않습니다.
기능적 제한 사항
영역 중복 고가용성
서버를 만드는 동안에만 영역 중복 고가용성 구성을 설정할 수 있습니다. 이 구성은 버스트 가능 컴퓨팅 계층에서 지원되지 않습니다.
네트워크
서버가 만들어지면 연결 방법을 변경할 수 없습니다. 프라이빗 액세스(가상 네트워크 통합)를 사용하여 서버를 만드는 경우 만든 후 공용 액세스(허용된 IP 주소)로 변경할 수 없으며 그 반대의 경우도 마찬가지입니다.
작업 중지/시작
서버를 중지하고 시작하는 작업은 읽기 복제본 구성(원본 및 복제본 모두)에서 지원되지 않습니다.
크기 조정 작업
프로비전된 서버 스토리지를 줄이는 것은 지원되지 않습니다.
서버 버전 업그레이드
주 데이터베이스 엔진 버전 간에 자동화된 마이그레이션은 지원되지 않습니다. 주 버전을 업그레이드하려면 새 엔진 버전으로 만든 서버에서 덤프 및 복원 을 사용합니다.
서버 복원
특정 시점 복원을 통해 새 서버는 원본 서버와 동일한 컴퓨팅 및 스토리지 구성을 기반으로 합니다. 서버를 만든 후 새로 복원된 서버의 컴퓨팅을 축소할 수 있습니다.
기능 비교
Azure Database for MySQL - 단일 서버에서 사용할 수 있는 모든 기능은 Azure Database for MySQL - 유연한 서버에서 사용할 수 없습니다.
Azure Database for MySQL - 단일 서버 및 Azure Database for MySQL - 유연한 서버 간의 기능 비교의 전체 목록은 Azure에서 올바른 MySQL 서버 옵션 선택에 대한 문서를 참조하세요.