TencentDB for MySQL은 MySQL의 공식 기본값을 기반으로 최적화되었습니다. 비즈니스 시나리오에 따라 구매 후 TencentDB for MySQL 인스턴스에 대해 다음 매개변수를 구성하는 것이 좋습니다.
기본값:
NO_ENGINE_SUBSTITUTION(5.6버전), ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION(5.7버전)
재시작 필요 여부: 불필요
설명: TencentDB for MySQL은 지원해야 하는 sql 구문 및 데이터 검사를 정의하는 여러 SQL 모드에서 작동할 수 있습니다.
v5.6에서 이 매개변수의 기본값은 NO_ENGINE_SUBSTITUTION
입니다. 즉, 사용된 스토리지 엔진이 비활성화되거나 컴파일되지 않으면 오류가 발생합니다.
v5.7, 8.0에서 기본값은 ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION
입니다.
이 중,
STRICT_TRANS_TABLES
는 SQL Strict mode를 활성화합니다. NO_ZERO_IN_DATE는 날짜의 월 또는 일 부분에 0 포함 허용 여부를 제어합니다. NO_ZERO_IN_DATE의 효과는 SQL Strict mode의 활성화 여부에 따라 다릅니다.NO_ZERO_DATE
는 날짜에 0 삽입 허용 여부를 제어합니다. 그 효과는 SQL Strict mode가 활성화 여부에 따라 다릅니다.ERROR_FOR_DIVISION_BY_ZERO
는 SQL Strict mode에서 INSERT 또는 UPDATE 프로세스 중에 데이터를 0으로 나누면 경고가 아닌 오류가 발생하고, SQL Strict mode가 아닌 경우 NULL이 반환됨을 의미합니다.NO_AUTO_CREATE_USER
는 GRANT 문이 비밀번호가 비어 있는 사용자를 생성하는 것을 금지합니다.NO_ENGINE_SUBSTITUTION
은 스토리지 엔진이 비활성화되거나 컴파일되지 않으면 오류가 발생함을 의미합니다.권장 사항: 각각의 SQL 모드는 서로 다른 SQL 구문을 지원하므로 비즈니스 요구 사항과 개발 습관에 따라 구성하는 것이 좋습니다.
문제 해결에 도움이 되었나요?