Loading...
MySQL 9.5 Reference Manual 9.5의 15.1.5 ALTER INSTANCE Statement의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
1ALTER INSTANCE instance_action 2 3instance_action: { 4 | {ENABLE|DISABLE} INNODB REDO_LOG 5 | ROTATE INNODB MASTER KEY 6 | ROTATE BINLOG MASTER KEY 7 | RELOAD TLS 8 [FOR CHANNEL {mysql_main | mysql_admin}] 9 [NO ROLLBACK ON ERROR] 10 | RELOAD KEYRING 11}
ALTER INSTANCE는 MySQL 서버 인스턴스에 적용 가능한 동작을 정의합니다. 이 문장은 다음과 같은 동작을 지원합니다:
ALTER INSTANCE {ENABLE | DISABLE} INNODB REDO_LOG이 동작은 InnoDB redo 로깅을 활성화하거나 비활성화합니다. Redo 로깅은 기본적으로 활성화되어 있습니다. 이 기능은 새로운 MySQL 인스턴스에 데이터를 적재하는 용도로만 의도되었습니다. 이 문장은 바이너리 로그에 기록되지 않습니다.
경고
운영(production) 시스템에서 redo 로깅을 비활성화하지 마십시오. Redo 로깅이 비활성화된 상태에서도 서버를 종료하고 다시 시작하는 것은 허용되지만, redo 로깅이 비활성화된 동안 예상치 못한 서버 중지가 발생하면 데이터 손실과 인스턴스 손상이 발생할 수 있습니다.
ALTER INSTANCE [ENABLE|DISABLE] INNODB REDO_LOG 동작에는 배타적 백업 락이 필요하며, 이 락은 다른 ALTER INSTANCE 동작이 동시에 실행되는 것을 방지합니다. 다른 ALTER INSTANCE 동작은 락이 해제될 때까지 대기한 후에야 실행할 수 있습니다.
자세한 내용은 Disabling Redo Logging을 참조하십시오.
ALTER INSTANCE ROTATE INNODB MASTER KEY이 동작은 InnoDB 테이블스페이스 암호화에 사용되는 마스터 암호화 키를 회전시킵니다. 키 회전에는 ENCRYPTION_KEY_ADMIN 또는 SUPER 권한이 필요합니다. 이 동작을 수행하려면 키링 플러그인이 설치 및 설정되어 있어야 합니다. 설정 방법은 Section 8.4.5, “The MySQL Keyring”을 참조하십시오.
ALTER INSTANCE ROTATE INNODB MASTER KEY는 DML 동작과 동시에 수행될 수 있습니다. 그러나 CREATE TABLE ... ENCRYPTION 또는 ALTER TABLE ... ENCRYPTION 동작과 동시에 실행될 수 없으며, 이러한 문장의 동시 실행으로 인해 발생할 수 있는 충돌을 방지하기 위해 락이 설정됩니다. 충돌하는 문장 중 하나가 실행 중인 경우, 다른 문장은 먼저 해당 문장이 완료될 때까지 기다려야 합니다.
ALTER INSTANCE ROTATE INNODB MASTER KEY 문장은 바이너리 로그에 기록되므로, 복제된 서버에서 실행될 수 있습니다.
추가적인 ALTER INSTANCE ROTATE INNODB MASTER KEY 사용 정보는 Section 17.13, “InnoDB Data-at-Rest Encryption”을 참조하십시오.
ALTER INSTANCE ROTATE BINLOG MASTER KEY이 동작은 바이너리 로그 암호화에 사용되는 바이너리 로그 마스터 키를 회전시킵니다. 바이너리 로그 마스터 키에 대한 키 회전에는 BINLOG_ENCRYPTION_ADMIN 또는 SUPER 권한이 필요합니다. binlog_encryption 시스템 변수이 OFF로 설정되어 있는 경우에는 이 문장을 사용할 수 없습니다. 이 동작을 수행하려면 키링 플러그인이 설치 및 설정되어 있어야 합니다. 설정 방법은 Section 8.4.5, “The MySQL Keyring”을 참조하십시오.
ALTER INSTANCE ROTATE BINLOG MASTER KEY 동작은 바이너리 로그에 기록되지 않으며 레플리카에서 실행되지 않습니다. 따라서 다양한 MySQL 버전이 혼재된 레플리케이션 환경에서도 바이너리 로그 마스터 키 회전을 수행할 수 있습니다. 적용 가능한 모든 소스 및 레플리카 서버에서 바이너리 로그 마스터 키의 정기적인 회전을 예약하려면 각 서버에서 MySQL 이벤트 스케줄러를 활성화하고 CREATE EVENT 문장을 사용하여 ALTER INSTANCE ROTATE BINLOG MASTER KEY 문장을 실행할 수 있습니다. 현재 또는 이전의 바이너리 로그 마스터 키가 손상되었을 가능성이 있다고 판단되어 바이너리 로그 마스터 키를 회전하는 경우, 해당되는 모든 소스 및 레플리카 서버에서 이 문장을 실행하여 즉각적인 준수를 확인할 수 있습니다.
추가적인 ALTER INSTANCE ROTATE BINLOG MASTER KEY 사용 정보, 특히 프로세스가 정상적으로 완료되지 않거나 예상치 못한 서버 중지로 인해 중단된 경우 수행해야 할 작업에 대해서는 Section 19.3.2, “Encrypting Binary Log Files and Relay Log Files”를 참조하십시오.
ALTER INSTANCE RELOAD TLS이 동작은 해당 컨텍스트를 정의하는 시스템 변수의 현재 값으로부터 TLS 컨텍스트를 재구성합니다. 또한 활성 컨텍스트 값을 반영하는 상태 변수도 업데이트합니다. 이 동작에는 CONNECTION_ADMIN 권한이 필요합니다. TLS 컨텍스트 재구성에 대한 추가 정보, 그리고 어떤 시스템 및 상태 변수가 컨텍스트와 관련되어 있는지에 대해서는 Server-Side Runtime Configuration and Monitoring for Encrypted Connections를 참조하십시오.
기본적으로 이 문장은 메인 커넥션 인터페이스에 대한 TLS 컨텍스트를 재적재(reload)합니다. FOR CHANNEL 절이 지정되면, 이 문장은 지정된 채널에 대한 TLS 컨텍스트를 재적재합니다: 메인 커넥션 인터페이스에는 mysql_main, 관리 커넥션 인터페이스에는 mysql_admin입니다. 서로 다른 인터페이스에 대한 정보는 Section 7.1.12.1, “Connection Interfaces”를 참조하십시오. 업데이트된 TLS 컨텍스트 속성은 Performance Schema tls_channel_status 테이블에 노출됩니다. Section 29.12.22.11, “The tls_channel_status Table”를 참조하십시오.
메인 인터페이스에 대한 TLS 컨텍스트를 업데이트하면, 해당 인터페이스에 대해 별도의 비기본(기본이 아닌) TLS 값이 설정되어 있지 않은 한 관리 인터페이스에도 영향을 줄 수 있습니다. 관리 인터페이스는 메인 인터페이스와 동일한 TLS 컨텍스트를 사용하기 때문입니다.
주의
TLS 컨텍스트를 재적재할 때, OpenSSL은 프로세스의 일부로 CRL (certificate revocation list)이 들어 있는 파일을 재적재합니다. CRL 파일이 큰 경우, 서버는 파일 크기의 10배에 해당하는 큰 메모리 청크를 할당하며, 새 인스턴스가 로드되는 동안 기존 인스턴스가 아직 해제되지 않았다면 이 메모리 크기는 두 배로 증가합니다. 큰 메모리 할당이 해제된 후에도 프로세스의 상주 메모리는 즉시 줄어들지 않기 때문에, 큰 CRL 파일과 함께 ALTER INSTANCE RELOAD TLS 문장을 반복적으로 실행하는 경우, 이로 인해 프로세스 상주 메모리 사용량이 증가할 수 있습니다.
기본적으로 RELOAD TLS 동작은 설정 값이 새로운 TLS 컨텍스트 생성을 허용하지 않으면 오류와 함께 롤백되며 아무 효과도 발생하지 않습니다. 이전 컨텍스트 값은 새로운 커넥션에 계속 사용됩니다. 선택적 NO ROLLBACK ON ERROR 절이 지정되었고 새로운 컨텍스트를 생성할 수 없는 경우, 롤백은 수행되지 않습니다. 대신 경고가 생성되며, 이 문장이 적용되는 인터페이스에 대해 새로운 커넥션에 대한 암호화가 비활성화됩니다.
ALTER INSTANCE RELOAD TLS 문장은 바이너리 로그에 기록되지 않으며(따라서 복제되지 않습니다). TLS 설정은 로컬이며, 관련 서버 모두에 존재하지 않을 수 있는 로컬 파일에 의존합니다.
ALTER INSTANCE RELOAD KEYRING키링 컴포넌트가 설치된 경우, 이 동작은 해당 컴포넌트에 설정 파일을 다시 읽고 키링 메모리 내 데이터를 재초기화하도록 지시합니다. 런타임에 컴포넌트 설정을 변경한 경우, 이 동작을 수행하기 전까지는 새로운 설정이 적용되지 않습니다. 키링 재적재에는 ENCRYPTION_KEY_ADMIN 권한이 필요합니다.
이 동작은 현재 설치된 키링 컴포넌트만 재구성할 수 있도록 합니다. 설치된 컴포넌트 자체를 변경할 수는 없습니다. 예를 들어, 설치된 키링 컴포넌트의 설정을 변경한 경우, ALTER INSTANCE RELOAD KEYRING은 새로운 설정이 적용되도록 합니다. 반면, 서버 매니페스트 파일에 명시된 키링 컴포넌트를 변경한 경우, ALTER INSTANCE RELOAD KEYRING은 아무 효과도 없으며 현재 컴포넌트가 계속 설치된 상태로 유지됩니다.
ALTER INSTANCE RELOAD KEYRING 문장은 바이너리 로그에 기록되지 않으며(따라서 복제되지 않습니다).
15.1.4 ALTER FUNCTION Statement
15.1.6 ALTER JSON DUALITY VIEW Statement