다음을 통해 공유


Azure Database for MySQL - 유연한 서버의 제한 사항

이 문서에서는 Azure Database for MySQL - 유연한 서버의 제한 사항에 대해 설명합니다. MySQL 데이터베이스 엔진의 일반적인 제한 사항도 적용됩니다. 리소스 제한 사항(컴퓨팅, 메모리, 스토리지)에 대해 알아보려면 컴퓨팅 및 스토리지에 대한 문서를 참조하세요.

서버 매개 변수

Azure Database for MySQL - 유연한 서버는 서버 매개 변수 값 조정을 지원합니다. 일부 매개 변수의 최솟값과 최댓값(예: max_connections, join_buffer_size, query_cache_size)은 컴퓨팅 계층 및 서버 크기를 계산하기 전에 결정됩니다. max_connectionsinnodb_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 COLUMNSSHOW INDEX 출력에 표시됩니다. GIPK는 INFORMATION_SCHEMACOLUMNSSTATISTICS 테이블에도 표시됩니다.

데이터 입력 복제를 사용하는 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은 MySQL 버전 5.7의 경우 1입니다. 이 설정을 조정해야 하는 경우 지원 티켓을 만드는 것이 좋습니다. 매개 변수 값을 1로 변경한 후에는 매개 변수 값을 2로 되돌릴 수 없다는 것을 이해하는 것이 중요합니다.

MySQL 버전 8.0의 경우 서버를 초기화한 후 lower_case_table_names 설정을 변경하는 것은 금지됩니다. 자세히 알아보세요. Azure Database for MySQL - 유연한 서버에서 기본값 lower_case_table_names은 MySQL 버전 8.0의 경우 1입니다. 이 매개 변수를 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 서버 옵션 선택에 대한 문서를 참조하세요.