본문 바로가기
기타

옵션을 사용하여 프로그램 변수 설정

2020. 12. 2.
반응형

많은 MySQL 프로그램에는 SET 명령문을 사용하여 런타임에 설정할 수있는 내부 변수가 있습니다 . 참조 절 13.7.4.1, "변수 할당을위한 SET 구문" , 및 "시스템 변수 사용"섹션 5.1.8, .

이러한 프로그램 변수의 대부분은 프로그램 옵션 지정에 적용되는 것과 동일한 구문을 사용하여 서버 시작시 설정할 수도 있습니다. 예를 들어 mysql 에는 max_allowed_packet통신 버퍼의 최대 크기를 제어 하는 변수가 있습니다. mysql 에 대한 max_allowed_packet변수를 16MB 값으로 설정하려면 다음 명령 중 하나를 사용하십시오.

 

첫 번째 명령은 값을 바이트 단위로 지정합니다. 두 번째는 메가 바이트 단위로 값을 지정합니다. 숫자 값을 변수 값에 접미사 K, M또는 G1024 1024 곱셈기를 나타내는 (어느 대문자 또는 소문자) 2 1024 3 . (예를 들어를 설정하는 데 사용되는 max_allowed_packet경우 접미사는 킬로바이트, 메가 바이트 또는 기가 바이트 단위를 나타냅니다.)

옵션 파일에서 변수 설정은 선행 대시없이 제공됩니다.

 

이전 버전의 MySQL에서는 프로그램 옵션을 전체 또는 모호하지 않은 접두사로 지정할 수 있습니다. 예를 들어,이 --compress옵션은 mysqldump에 으로 주어질 수 --compr있지만 --comp 후자가 모호하기 때문이 아닙니다 . MySQL 5.7에서는 옵션 접두사가 더 이상 지원되지 않습니다. 전체 옵션 만 허용됩니다. 이는 프로그램에 대해 새 옵션이 구현 될 때 접두사가 문제를 일으킬 수 있고 현재 모호하지 않은 접두사가 향후 모호해질 수 있기 때문입니다. 이 변경의 몇 가지 의미 :

  • 이제 --key-buffer옵션을로 지정해야합니다 --key-buffer-size.

  • 이제 --skip-grant옵션을로 지정해야합니다 --skip-grant-tables.

값 승수를 지정하기위한 접미사는 프로그램 호출시 변수를 설정할 때 사용할 수 있지만 SET런타임시 값을 설정하는 데 사용할 수 없습니다 . 반면에서는 SET표현식을 사용하여 변수의 값을 할당 할 수 있습니다. 이는 서버 시작시 변수를 설정할 때 참이 아닙니다. 예를 들어, 다음 줄 중 첫 번째 줄은 프로그램 호출시 합법적이지만 두 번째 줄은 그렇지 않습니다.

 

반대로 다음 줄 중 두 번째 줄은 런타임에 합법적이지만 첫 번째 줄은 그렇지 않습니다.

반응형

댓글