다음을 통해 공유


Azure Database for MySQL - 유연한 서버의 서버 매개 변수

이 문서에서는 Azure Database for MySQL - 유연한 서버에서 서버 매개 변수를 구성하기 위한 고려 사항 및 지침을 제공합니다.

참고 항목

이 문서에는 Microsoft에서 더 이상 사용하지 않는 슬레이브라는 용어에 대한 참조가 포함되어 있습니다. 소프트웨어에서 용어가 제거되면 이 문서에서 해당 용어가 제거됩니다.

서버 매개 변수는 무엇인가요?

MySQL 엔진은 엔진 동작을 구성하고 조정하는 데 사용할 수 있는 많은 서버 매개 변수(변수라고도 함)를 제공합니다. 일부 매개 변수는 런타임 중에 동적으로 설정할 수 있습니다. 다른 항목은 정적이며 설정한 후 서버를 다시 시작해야 합니다.

Azure Database for MySQL - 유연한 서버에서 Azure Portal을 사용하여 Azure Database for MySQL - 유연한 서버의 서버 구성 매개 변수를 사용하고 Azure CLI를 사용하여 Azure CLI를 사용하여 유연한 서버에서 다양한 MySQL 서버 매개 변수의 값을 변경할 수 있습니다.

구성 가능한 서버 매개 변수

서버 매개 변수를 사용하여 Azure Database for MySQL 유연한 서버의 구성을 관리할 수 있습니다. 서버 매개 변수는 서버를 만들 때 기본값 및 권장 값으로 구성됩니다. Azure Portal의 서버 매개 변수 창에는 수정 가능한 매개 변수와 수정할 수 없는 매개 변수가 모두 표시됩니다. 수정할 수 없는 서버 매개 변수를 사용할 수 없습니다.

지원되는 서버 매개 변수 목록은 계속 확장됩니다. Azure Portal을 사용하여 서버 매개 변수의 전체 목록을 주기적으로 보고 값을 구성할 수 있습니다.

포털을 사용하여 정적 서버 매개 변수를 수정하는 경우 변경 내용을 적용하려면 서버를 다시 시작해야 합니다. 자동화 스크립트를 사용하는 경우(Azure Resource Manager 템플릿, Terraform 또는 Azure CLI와 같은 도구를 통해) 만들기 환경의 일부로 구성을 변경하는 경우에도 설정이 적용되도록 서비스를 다시 시작하는 프로비저닝이 스크립트에 있어야 합니다.

환경에 맞게 수정할 수 없는 서버 매개 변수를 수정하려면 커뮤니티 피드백을 통해 아이디어를 게시하거나 피드백이 이미 있는지 투표합니다(우선 순위를 지정하는 데 도움이 될 수 있음).

다음 섹션에서는 일반적으로 업데이트되는 서버 매개 변수의 제한에 대해 설명합니다. 컴퓨팅 계층과 서버의 크기(vCore)가 제한을 결정합니다.

lower_case_table_names

MySQL 버전 5.7의 lower_case_table_names 경우 기본값은 1 Azure Database for MySQL - 유연한 서버에 있습니다. 지원되는 값을 2변경할 수 있지만 뒤로 1 되돌리 2 는 것은 허용되지 않습니다. 기본값 변경에 대한 지원을 받으려면 지원 티켓을 만듭니다.

MySQL 버전 8.0 이상에서는 서버를 초기화할 때만 구성할 lower_case_table_names 수 있습니다. 자세히 알아보기. 서버를 초기화한 lower_case_table_names 후 설정을 변경하는 것은 금지됩니다.

MySQL 버전 8.0에 대해 지원되는 값은 1 2 Azure Database for MySQL - 유연한 서버에 있습니다. 기본값은 1입니다. 서버를 만드는 동안 기본값을 변경하는 데 도움이 필요하면 지원 티켓을 만드세요.

innodb_tmpdir

Azure Database for MySQL - 유연한 서버의 innodb_tmpdir 매개 변수를 사용하여 다시 빌드하는 온라인 ALTER TABLE 작업 중에 만든 임시 정렬 파일의 디렉터리를 정의합니다.

innodb_tmpdir 의 기본값은 /mnt/temp입니다. 이 위치는 SSD(임시 스토리지) 에 해당하며 각 서버 컴퓨팅 크기의 Gibibytes(Gibibytes)로 사용할 수 있습니다. 이 위치는 많은 공간이 필요하지 않은 작업에 적합합니다.

더 많은 공간이 필요한 경우 .로 /app/work/tmpdir설정할 innodb_tmpdir 수 있습니다. 이 설정은 Azure Database for MySQL 유연한 서버에서 사용 가능한 스토리지 용량을 활용합니다. 이 설정은 더 많은 임시 스토리지가 필요한 더 큰 작업에 유용할 수 있습니다.

사용하면 /app/work/tmpdir 기본 SSD(임시 스토리지) /mnt/temp 값에 비해 성능이 저하됩니다. 작업의 특정 요구 사항에 따라 선택합니다.

제공된 innodb_tmpdir 정보는 innodb_temp_tablespaces_dir, tmpdirslave_load_tmpdir 매개 변수에 적용할 수 있습니다.

  • 기본값 /mnt/temp 은 일반적입니다.
  • 대체 디렉터리를 /app/work/tmpdir 사용하여 특정 운영 요구 사항에 따라 성능이 절상되는 증가된 임시 스토리지를 구성할 수 있습니다.

log_bin_trust_function_creators

Azure Database for MySQL - 유연한 서버에서 이진 로그는 항상 사용하도록 설정됩니다(즉, log_bin <a0/>로 설정됨). log_bin_trust_function_creators 매개 변수는 유연한 서버에서 기본적으로 설정 ON 됩니다.

이진 로깅 형식은 항상 ROW서버 연결에서 항상 행 기반 이진 로깅을 사용합니다. 행 기반 이진 로깅을 사용하면 보안 문제가 존재하지 않으며 이진 로깅이 중단되지 않으므로 안전하게 log_bin_trust_function_creators 그대로 유지할 ON수 있습니다.

설정된 OFF 경우 log_bin_trust_function_creators 트리거를 만들려고 하면 다음과 같은 오류가 발생할 수 있습니다. "SUPER 권한이 없고 이진 로깅이 활성화되어 있습니다(덜 안전한 log_bin_trust_function_creators 변수를 사용할 수 있음)."

innodb_buffer_pool_size

매개 변수에 innodb_buffer_pool_size 대해 알아보려면 MySQL 설명서를 검토 하세요.

다음 표의 실제 메모리 크기Azure Database for MySQL 유연한 서버에서 사용 가능한 RAM(임의 액세스 메모리)(GB)을 나타냅니다.

컴퓨팅 크기 vCore 수 실제 메모리 크기(GB) 기본값(바이트) 최솟값(바이트) 최댓값(바이트)
버스터 가능
Standard_B1s 1 1 134217728 33554432 268435456
Standard_B1ms 1 2 536870912 134217728 1073741824
Standard_B2s 2 4 2147483648 134217728 2147483648
Standard_B2ms 2 8 4294967296 134217728 5368709120
Standard_B4ms 4 16 12884901888 134217728 12884901888
Standard_B8ms 8 32 25769803776 134217728 25769803776
Standard_B12ms 12 48 51539607552 134217728 32212254720
Standard_B16ms 16 64 2147483648 134217728 51539607552
Standard_B20ms 20 80 64424509440 134217728 64424509440
범용
Standard_D2ads_v5 2 8 4294967296 134217728 5368709120
Standard_D2ds_v4 2 8 4294967296 134217728 5368709120
Standard_D4ads_v5 4 16 12884901888 134217728 12884901888
Standard_D4ds_v4 4 16 12884901888 134217728 12884901888
Standard_D8ads_v5 8 32 25769803776 134217728 25769803776
Standard_D8ds_v4 8 32 25769803776 134217728 25769803776
Standard_D16ads_v5 16 64 51539607552 134217728 51539607552
Standard_D16ds_v4 16 64 51539607552 134217728 51539607552
Standard_D32ads_v5 32 128 103079215104 134217728 103079215104
Standard_D32ds_v4 32 128 103079215104 134217728 103079215104
Standard_D48ads_v5 48 192 154618822656 134217728 154618822656
Standard_D48ds_v4 48 192 154618822656 134217728 154618822656
Standard_D64ads_v5 64 256 206158430208 134217728 206158430208
Standard_D64ds_v4 64 256 206158430208 134217728 206158430208
중요 비즈니스용
Standard_E2ds_v4 2 16 12884901888 134217728 12884901888
Standard_E2ads_v5, Standard_E2ds_v5 2 16 12884901888 134217728 12884901888
Standard_E4ds_v4 4 32 25769803776 134217728 25769803776
Standard_E4ads_v5, Standard_E4ds_v5 4 32 25769803776 134217728 25769803776
Standard_E8ds_v4 8 64 51539607552 134217728 51539607552
Standard_E8ads_v5, Standard_E8ds_v5 8 64 51539607552 134217728 51539607552
Standard_E16ds_v4 16 128 103079215104 134217728 103079215104
Standard_E16ads_v5, Standard_E16ds_v5 16 128 103079215104 134217728 103079215104
Standard_E20ds_v4 20 160 128849018880 134217728 128849018880
Standard_E20ads_v5, Standard_E20ds_v5 20 160 128849018880 134217728 128849018880
Standard_E32ds_v4 32 256 206158430208 134217728 206158430208
Standard_E32ads_v5, Standard_E32ds_v5 32 256 206158430208 134217728 206158430208
Standard_E48ds_v4 48 384 309237645312 134217728 309237645312
Standard_E48ads_v5, Standard_E48ds_v5 48 384 309237645312 134217728 309237645312
Standard_E64ds_v4 64 504 405874409472 134217728 405874409472
Standard_E64ads_v5 , Standard_E64ds_v5 64 512 412316860416 134217728 412316860416
Standard_E80ids_v4 80 504 405874409472 134217728 405874409472
Standard_E96ds_v5 96 672 541165879296 134217728 541165879296

innodb_file_per_table

MySQL은 테이블을 만드는 동안 제공한 구성에 따라 다른 테이블스페이스에 InnoDB 테이블을 저장합니다. 시스템 테이블스페이스는 InnoDB 데이터 사전의 스토리지 영역입니다. 테이블별 파일 테이블스페이스는 단일 InnoDB 테이블에 대한 데이터와 인덱스를 포함하며 파일 시스템에 자체 데이터 파일에 저장됩니다. innodb_file_per_table 서버 매개 변수는 이 동작을 제어합니다.

innodb_file_per_tableOFF로 설정하면 InnoDB가 시스템 테이블스페이스에 테이블을 만듭니다. 그렇지 않으면 InnoDB는 file-per-table 테이블스페이스에 테이블을 만듭니다.

Azure Database for MySQL - 유연한 서버는 단일 데이터 파일에서 최대 8TB(테라바이트)를 지원합니다. 데이터베이스 크기가 8TB보다 큰 경우 테이블스페이스에 innodb_file_per_table 테이블을 만들어야 합니다. 단일 테이블 크기가 8TB보다 큰 경우 파티션 테이블을 사용해야 합니다.

innodb_log_file_size

innodb_log_file_size 값은 로그 그룹에 있는 각 로그 파일의 크기(바이트)입니다. 로그 파일의 결합된 크기(innodb_log_file_size * innodb_log_files_in_group)는 512GB보다 약간 작은 최대값을 초과할 수 없습니다.

더 큰 로그 파일 크기는 성능에 더 좋지만 단점은 충돌 후 복구 시간이 높다는 것입니다. 크래시가 발생하는 드문 경우와 최대 작업 중 처리량을 최대화하는 경우 복구 시간의 균형을 맞춰야 합니다. 로그 파일 크기가 클수록 다시 시작하는 시간이 길어질 수도 있습니다.

Azure Database for MySQL - 유연한 서버에 대해 256MB( MB), 512MB, 1GB 또는 2GB로 구성할 innodb_log_size 수 있습니다. 매개 변수가 정적이며 다시 시작해야 합니다.

참고 항목

매개 변수를 innodb_log_file_size 기본값에서 변경한 경우 다시 시작 지연을 방지하기 위해 값 show global status like 'innodb_buffer_pool_pages_dirty' 이 30초 동안 유지 0 되는지 확인합니다.

max_connections

서버의 메모리 크기에 따라 값 max_connections이 결정됩니다. 다음 표의 실제 메모리 크기Azure Database for MySQL 유연한 서버에서 사용 가능한 RAM(기가바이트)을 나타냅니다.

컴퓨팅 크기 vCore 수 실제 메모리 크기(GB) Default value 최소값 최댓값
버스터 가능
Standard_B1s 1 1 85 10 171
Standard_B1ms 1 2 171 10 341
Standard_B2s 2 4 341 10 683
Standard_B2ms 2 4 683 10 1365
Standard_B4ms 4 16 1365 10 2731
Standard_B8ms 8 32 2731 10 5461
Standard_B12ms 12 48 4097 10 8193
Standard_B16ms 16 64 5461 10 10923
Standard_B20ms 20 80 6827 10 13653
범용
Standard_D2ads_v5 2 8 683 10 1365
Standard_D2ds_v4 2 8 683 10 1365
Standard_D4ads_v5 4 16 1365 10 2731
Standard_D4ds_v4 4 16 1365 10 2731
Standard_D8ads_v5 8 32 2731 10 5461
Standard_D8ds_v4 8 32 2731 10 5461
Standard_D16ads_v5 16 64 5461 10 10923
Standard_D16ds_v4 16 64 5461 10 10923
Standard_D32ads_v5 32 128 10923 10 21845
Standard_D32ds_v4 32 128 10923 10 21845
Standard_D48ads_v5 48 192 16384 10 32768
Standard_D48ds_v4 48 192 16384 10 32768
Standard_D64ads_v5 64 256 21845 10 43691
Standard_D64ds_v4 64 256 21845 10 43691
중요 비즈니스용
Standard_E2ds_v4 2 16 1365 10 2731
Standard_E2ads_v5, Standard_E2ds_v5 2 16 1365 10 2731
Standard_E4ds_v4 4 32 2731 10 5461
Standard_E4ads_v5, Standard_E4ds_v5 4 32 2731 10 5461
Standard_E8ds_v4 8 64 5461 10 10923
Standard_E8ads_v5, Standard_E8ds_v5 8 64 5461 10 10923
Standard_E16ds_v4 16 128 10923 10 21845
Standard_E16ads_v5, Standard_E16ds_v5 16 128 10923 10 21845
Standard_E20ds_v4 20 160 13653 10 27306
Standard_E20ads_v5, Standard_E20ds_v5 20 160 13653 10 27306
Standard_E32ds_v4 32 256 21845 10 43691
Standard_E32ads_v5, Standard_E32ds_v5 32 256 21845 10 43691
Standard_E48ds_v4 48 384 32768 10 65536
Standard_E48ads_v5, Standard_E48ds_v5 48 384 32768 10 65536
Standard_E64ds_v4 64 504 43008 10 86016
Standard_E64ads_v5, Standard_E64ds_v5 64 512 43691 10 87383
Standard_E80ids_v4 80 504 43008 10 86016
Standard_E96ds_v5 96 672 50000 10 100000

연결이 제한을 초과하면 "오류 1040(08004): 연결이 너무 많음"이라는 오류가 표시될 수 있습니다.

MySQL에 대한 새 클라이언트 연결을 만드는 데는 시간이 걸립니다. 이러한 연결을 설정한 후에는 유휴 상태인 경우에도 데이터베이스 리소스를 차지합니다. 대부분의 애플리케이션은 많은 단기 연결을 요청합니다. 이는 이러한 상황을 복잡하게 만듭니다. 결과적으로 실제 워크로드에 사용할 수 있는 리소스가 줄어들어 성능이 저하됩니다.

유휴 연결을 줄이고 기존 연결을 다시 사용하는 연결 풀러를 사용하면 이 문제를 방지할 수 있습니다. 최상의 환경을 위해 ProxySQL과 같은 연결 풀러를 사용하여 연결을 효율적으로 관리하는 것이 좋습니다. ProxySQL 설정에 대한 자세한 내용은 이 블로그 게시물을 참조 하세요.

참고 항목

ProxySQL은 오픈 소스 커뮤니티 도구입니다. Microsoft는 최선을 다해 지원합니다. 신뢰할 수 있는 지침으로 프로덕션 지원을 받으려면 ProxySQL 제품 지원에 문의하세요.

innodb_strict_mode

"행 크기가 너무 큼(> 8126)"과 유사한 오류가 표시되면 서버 매개 변수를 innodb_strict_mode 해제할 수 있습니다. 행 데이터 크기가 8K보다 크면 데이터가 오류 없이 잘리므로 이 매개 변수는 서버 수준에서 전역적으로 수정할 수 없습니다. 이 잘림으로 인해 잠재적인 데이터 손실이 발생할 수 있습니다. 페이지 크기 제한에 맞춰 스키마를 수정하는 것이 좋습니다.

를 사용하여 init_connect세션 수준에서 이 매개 변수를 설정할 수 있습니다. 자세한 내용은 수정할 수 없는 서버 매개 변수 설정을 참조 하세요.

참고 항목

읽기 복제본 서버가 있는 경우 원본 서버의 세션 수준에서 설정 innodb_strict_mode OFF 하면 복제가 중단됩니다. 읽기 복제본이 있는 경우 매개 변수를 ON로 유지하는 것이 좋습니다.

time_zone

초기 배포 시 Azure Database for MySQL - 유연한 서버 인스턴스에는 표준 시간대 정보에 대한 시스템 테이블이 포함되지만 이러한 테이블은 채워지지 않습니다. MySQL 명령줄 또는 MySQL Workbench와 같은 도구에서 저장 프로시저를 호출 mysql.az_load_timezone 하여 표준 시간대 테이블을 채울 수 있습니다. Azure Portal 또는 Azure CLI를 사용하여 저장 프로시저를 호출하고 전역 또는 세션 수준 표준 시간대를 설정할 수도 있습니다.

binlog_expire_logs_seconds

Azure Database for MySQL - 유연한 서버 binlog_expire_logs_seconds 에서 매개 변수는 이진 로그 파일을 삭제하기 전에 서비스에서 대기하는 시간(초)을 지정합니다.

이진 로그에는 테이블 생성 작업 또는 테이블 데이터 변경과 같은 데이터베이스 변경 사항을 설명하는 이벤트가 포함됩니다. 이진 로그에는 잠재적으로 변경되었을 수 있는 문에 대한 이벤트도 포함됩니다. 이진 로그는 주로 복제 및 데이터 복구 작업의 두 가지 용도로 사용됩니다.

일반적으로 이진 로그는 핸들이 서비스, 백업 또는 복제본 집합에서 해제되는 즉시 삭제됩니다. 여러 복제본이 있는 경우 이진 로그는 가장 느린 복제본이 삭제되기 전에 변경 내용을 읽을 때까지 기다립니다.

이진 로그를 더 오래 유지하려면 매개 변수를 binlog_expire_logs_seconds 구성할 수 있습니다. 기본값0으로 설정된 경우 binlog_expire_logs_seconds 이진 로그는 핸들이 해제되는 즉시 삭제됩니다. 값 binlog_expire_logs_seconds 이 보다 0크면 구성된 시간(초) 후에 이진 로그가 삭제됩니다.

Azure Database for MySQL - 유연한 서버는 내부적으로 이진 파일의 백업 및 읽기 복제본 삭제와 같은 관리되는 기능을 처리합니다. Azure Database for MySQL - 유연한 서버에서 데이터 출력을 복제하는 경우 복제본이 주 데이터베이스의 변경 내용을 읽기 전에 이진 로그가 삭제되지 않도록 이 매개 변수를 주 서버에서 설정해야 합니다. 더 높은 값으로 설정 binlog_expire_logs_seconds 하면 이진 로그가 곧 삭제되지 않습니다. 이러한 지연으로 인해 스토리지 청구가 증가할 수 있습니다.

event_scheduler

Azure Database for MySQL - 유연한 서버 event_scheduler 에서 서버 매개 변수는 이벤트 만들기, 예약 및 실행을 관리합니다. 즉, 매개 변수는 특수 MySQL 이벤트 스케줄러 스레드의 일정에 따라 실행되는 작업을 관리합니다. 매개 변수가 event_scheduler 설정된 ON경우 이벤트 스케줄러 스레드는 출력 SHOW PROCESSLIST에서 디먼 프로세스로 나열됩니다.

MySQL 버전 5.7 서버의 경우 백업이 시작되고 백업이 성공적으로 완료된 후 서버 매개 event_scheduler 변수가 'ON'으로 다시 설정되면 서버 매개 변수 event_scheduler 가 자동으로 'OFF'로 설정됩니다. Azure Database for MySQL - 유연한 서버용 MySQL 버전 8.0에서는 백업 중에 event_scheduler 영향을 받지 않습니다. 보다 원활한 작업을 위해 주 버전 업그레이드를 사용하여 MySQL 5.7 서버를 버전 8.0으로 업그레이드하는 것이 좋습니다.

다음 SQL 구문을 사용하여 이벤트를 만들고 예약할 수 있습니다.

CREATE EVENT <event name>
ON SCHEDULE EVERY _ MINUTE / HOUR / DAY
STARTS TIMESTAMP / CURRENT_TIMESTAMP
ENDS TIMESTAMP / CURRENT_TIMESTAMP + INTERVAL 1 MINUTE / HOUR / DAY
COMMENT '<comment>'
DO
<your statement>;

이벤트를 만드는 방법에 대한 자세한 내용은 MySQL 참조 설명서의 이벤트 스케줄러에 대한 다음 설명서를 참조하세요.

event_scheduler 서버 매개 변수 구성

다음 시나리오에서는 Azure Database for MySQL - 유연한 서버에서 매개 변수를 사용하는 event_scheduler 한 가지 방법을 보여 줍니다.

시나리오를 보여 주려면 간단한 테이블의 다음 예제를 고려하세요.

mysql> describe tab1;
+-----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
| +-----------+-------------+------+-----+---------+----------------+ |
| id | int(11) | NO | PRI | NULL | auto_increment |
| CreatedAt | timestamp | YES | | NULL | |
| CreatedBy | varchar(16) | YES | | NULL | |
| +-----------+-------------+------+-----+---------+----------------+ |
| 3 rows in set (0.23 sec) |
| ``` |
| To configure the `event_scheduler` server parameter in Azure Database for MySQL - Flexible Server, perform the following steps: |

1. In the Azure portal, go to your Azure Database for MySQL - Flexible Server instance. Under **Settings**, select **Server parameters**.
1. On the **Server parameters** pane, search for `event_scheduler`. In the **VALUE** dropdown list, select **ON**, and then select **Save**.

    > [!NOTE]
    > Deployment of the dynamic configuration change to the server parameter doesn't require a restart.

1. To create an event, connect to the Azure Database for MySQL - Flexible Server instance and run the following SQL command:
    ```sql

    CREATE EVENT test_event_01
    ON SCHEDULE EVERY 1 MINUTE
    STARTS CURRENT_TIMESTAMP
    ENDS CURRENT_TIMESTAMP + INTERVAL 1 HOUR
    COMMENT 'Inserting record into the table tab1 with current timestamp'
    DO
    INSERT INTO tab1(id,createdAt,createdBy)
    VALUES('',NOW(),CURRENT_USER());

    ```
1. To view the Event Scheduler details, run the following SQL statement:
    ```sql

    SHOW EVENTS;

    ```
    The following output appears:
    ```sql

    mysql> show events;
    +-----+---------------+-------------+-----------+-----------+------------+----------------+----------------+---------------------+---------------------+---------+------------+----------------------+----------------------+--------------------+
    | Db | Name | Definer | Time zone | Type | Execute at | Interval value | Interval field | Starts | Ends | Status | Originator | character_set_client | collation_connection | Database Collation |
    | +-----+---------------+-------------+-----------+-----------+------------+----------------+----------------+---------------------+---------------------+---------+------------+----------------------+----------------------+--------------------+ |
    | db1 | test_event_01 | azureuser@% | SYSTEM | RECURRING | NULL | 1 | MINUTE | 2023-04-05 14:47:04 | 2023-04-05 15:47:04 | ENABLED | 3221153808 | latin1 | latin1_swedish_ci | latin1_swedish_ci |
    | +-----+---------------+-------------+-----------+-----------+------------+----------------+----------------+---------------------+---------------------+---------+------------+----------------------+----------------------+--------------------+ |
    | 1 row in set (0.23 sec) |
    | ``` |

1. After a few minutes, query the rows from the table to begin viewing the rows inserted every minute according to the `event_scheduler` parameter that you configured:

    ```azurecli
    mysql> select * from tab1;
    +----+---------------------+-------------+
    | id | CreatedAt | CreatedBy |
    | +----+---------------------+-------------+ |
    | 1 | 2023-04-05 14:47:04 | azureuser@% |
    | 2 | 2023-04-05 14:48:04 | azureuser@% |
    | 3 | 2023-04-05 14:49:04 | azureuser@% |
    | 4 | 2023-04-05 14:50:04 | azureuser@% |
    | +----+---------------------+-------------+ |
    | 4 rows in set (0.23 sec) |
    | ``` |
| 1. After an hour, run a `select` statement on the table to view the complete result of the values inserted into table every minute for an hour (as `event_scheduler` is configured in this case): |
    ```azurecli

    mysql> select * from tab1;
    +----+---------------------+-------------+
    | id | CreatedAt | CreatedBy |
    | +----+---------------------+-------------+ |
    | 1 | 2023-04-05 14:47:04 | azureuser@% |
    | 2 | 2023-04-05 14:48:04 | azureuser@% |
    | 3 | 2023-04-05 14:49:04 | azureuser@% |
    | 4 | 2023-04-05 14:50:04 | azureuser@% |
    | 5 | 2023-04-05 14:51:04 | azureuser@% |
    | 6 | 2023-04-05 14:52:04 | azureuser@% |
    | ..< 50 lines trimmed to compact output >.. |
    | 56 | 2023-04-05 15:42:04 | azureuser@% |
    | 57 | 2023-04-05 15:43:04 | azureuser@% |
    | 58 | 2023-04-05 15:44:04 | azureuser@% |
    | 59 | 2023-04-05 15:45:04 | azureuser@% |
    | 60 | 2023-04-05 15:46:04 | azureuser@% |
    | 61 | 2023-04-05 15:47:04 | azureuser@% |
    | +----+---------------------+-------------+ |
    | 61 rows in set (0.23 sec) |
    | ``` |

#### Other scenarios

You can set up an event based on the requirements of your specific scenario. A few examples of scheduling SQL statements to run at various time intervals follow.

To run a SQL statement now and repeat one time per day with no end:

```sql
CREATE EVENT <event name>
ON SCHEDULE
EVERY 1 DAY
STARTS (TIMESTAMP(CURRENT_DATE) + INTERVAL 1 DAY + INTERVAL 1 HOUR)
COMMENT 'Comment'
DO
<your statement>;

끝 없이 매시간 SQL 문을 실행하려면 다음을 수행합니다.

CREATE EVENT <event name>
ON SCHEDULE
EVERY 1 HOUR
COMMENT 'Comment'
DO
<your statement>;

끝 없이 매일 SQL 문을 실행하려면 다음을 수행합니다.

CREATE EVENT <event name>
ON SCHEDULE
EVERY 1 DAY
STARTS str_to_date( date_format(now(), '%Y%m%d 0200'), '%Y%m%d %H%i' ) + INTERVAL 1 DAY
COMMENT 'Comment'
DO
<your statement>;

제한 사항

고가용성이 구성된 서버의 경우 장애 조치(failover)가 발생하면 서버 매개 변수가 event_scheduler .로 OFF설정됩니다. 이 경우 장애 조치(failover)가 완료되면 값을 .로 설정하도록 매개 변수를 ON구성합니다.

수정 불가능한 서버 매개 변수

Azure Portal의 서버 매개 변수 창에는 수정 가능한 서버 매개 변수와 수정할 수 없는 서버 매개 변수가 모두 표시됩니다. 수정할 수 없는 서버 매개 변수를 사용할 수 없습니다. Azure Portal 또는 Azure CLI를 사용하여 init_connect 세션 수준에서 수정할 수 없는 서버 매개 변수를 구성할 수 있습니다.