Loading...
MySQL 9.5 Reference Manual 9.5의 7.1.3 Server Configuration Validation의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
MySQL은 서버를 정상 운영 모드로 실행하지 않고도 시작 시점의 구성을 문제 여부에 대해 점검할 수 있도록 --validate-config 옵션을 지원합니다:
1mysqld --validate-config
오류가 발견되지 않으면, 서버는 종료 코드 0으로 종료합니다. 오류가 발견되면, 서버는 진단 메시지를 표시하고 종료 코드 1로 종료합니다. 예를 들면 다음과 같습니다:
1$> mysqld --validate-config --no-such-option 22018-11-05T17:50:12.738919Z 0 [ERROR] [MY-000068] [Server] unknown 3option '--no-such-option'. 42018-11-05T17:50:12.738962Z 0 [ERROR] [MY-010119] [Server] Aborting
서버는 어떤 오류라도 발견되는 즉시 종료합니다. 추가적인 점검을 수행하려면, 처음 발생한 문제를 수정한 후 --validate-config와 함께 서버를 다시 실행하십시오.
앞선 예시에서처럼 --validate-config를 사용했을 때 오류 메시지가 표시되면, 서버 종료 코드는 1입니다. log_error_verbosity 값에 따라 경고 및 정보 메시지도 표시될 수 있지만, 이들은 즉각적인 검증 종료나 종료 코드 1을 발생시키지는 않습니다.
예를 들어, 다음 명령은 둘 다 표시되는 여러 개의 경고를 발생시킵니다. 그러나 오류는 발생하지 않으므로 종료 코드는 0입니다:
1$> mysqld --validate-config --log_error_verbosity=2 2 --read-only=s --transaction_read_only=s 32018-11-05T15:43:18.445863Z 0 [Warning] [MY-000076] [Server] option 4'read_only': boolean value 's' was not recognized. Set to OFF. 52018-11-05T15:43:18.445882Z 0 [Warning] [MY-000076] [Server] option 6'transaction-read-only': boolean value 's' was not recognized. Set to OFF.
다음 명령은 같은 경고들을 발생시키지만, 추가로 오류도 발생시키므로, 경고와 함께 오류 메시지가 표시되고 종료 코드는 1입니다:
1$> mysqld --validate-config --log_error_verbosity=2 2 --no-such-option --read-only=s --transaction_read_only=s 32018-11-05T15:43:53.152886Z 0 [Warning] [MY-000076] [Server] option 4'read_only': boolean value 's' was not recognized. Set to OFF. 52018-11-05T15:43:53.152913Z 0 [Warning] [MY-000076] [Server] option 6'transaction-read-only': boolean value 's' was not recognized. Set to OFF. 72018-11-05T15:43:53.164889Z 0 [ERROR] [MY-000068] [Server] unknown 8option '--no-such-option'. 92018-11-05T15:43:53.165053Z 0 [ERROR] [MY-010119] [Server] Aborting
--validate-config 옵션의 범위는 서버가 정상적인 시작 과정을 거치지 않고 수행할 수 있는 구성 점검으로 제한됩니다. 따라서 구성 점검은 스토리지 엔진 및 기타 플러그인, 컴포넌트 등을 초기화하지 않으며, 초기화되지 않은 이러한 서브시스템과 연관된 옵션들은 검증하지 않습니다.
--validate-config는 언제든 사용할 수 있지만, 특히 업그레이드 후에, 이전 서버에서 사용되던 옵션들이 업그레이드된 서버에 의해 사용 중단(deprecated) 또는 폐지(obsolete)로 간주되는지를 점검하는 데 유용합니다.
예를 들어, tx_read_only 시스템 변수는 8.0에서 제거되었습니다. MySQL 5.7 서버가 my.cnf 파일에서 해당 시스템 변수를 사용하도록 설정된 상태에서 MySQL 9.5로 업그레이드되었다고 가정해 봅시다. 업그레이드된 서버를 --validate-config와 함께 실행하여 구성을 점검하면 다음과 같은 결과가 나옵니다:
1$> mysqld --validate-config 22018-11-05T10:40:02.712141Z 0 [ERROR] [MY-000067] [Server] unknown variable 3'tx_read_only=ON'. 42018-11-05T10:40:02.712178Z 0 [ERROR] [MY-010119] [Server] Aborting
--validate-config는 --defaults-file 옵션과 함께 사용하여, 특정 파일에 있는 옵션만을 검증하는 데 사용할 수 있습니다:
1$> mysqld --defaults-file=./my.cnf-test --validate-config 22018-11-05T10:40:02.712141Z 0 [ERROR] [MY-000067] [Server] unknown variable 3'tx_read_only=ON'. 42018-11-05T10:40:02.712178Z 0 [ERROR] [MY-010119] [Server] Aborting
--defaults-file을 지정하는 경우, 명령줄에서 반드시 첫 번째 옵션이어야 한다는 점을 기억하십시오. (앞선 예시에서 옵션 순서를 반대로 실행하면, --defaults-file 자체가 unknown이라는 메시지가 출력됩니다.)
7.1.2 Server Configuration Defaults
7.1.4 Server Option, System Variable, and Status Variable Reference