10.1.3.1 서버 문자 집합 및 데이터 정렬
MySQL Server는 서버 문자 집합 및 서버 데이터 정렬이 있습니다. 이러한 명령 행 또는 옵션 파일에서 서버를 시작할 때 설정 런타임에 변경할 수 있습니다.
서버 문자 집합 및 정렬 순서는 먼저 mysqld를 시작할 때 사용하는 옵션에 따라 달라집니다. 문자 세트에 --character-set-server
를 사용할 수 있습니다. 이와 함께 데이터 정렬에 --collation-server
를 추가 할 수 있습니다. 문자 집합을 지정하지 않는 경우는 --character-set-server=latin1
을 지정했을 경우와 같게됩니다. 문자 집합 (예를 들어 latin1
) 만 지정하고 데이터 정렬을 지정하지 않는 경우는 --character-set-server=latin1
--collation-server=latin1_swedish_ci
을 지정했을 경우와 같게됩니다. 이것은 latin1_swedish_ci
이 latin1
의 기본 데이터 정렬이기 때문입니다. 따라서 다음과 같은 세 가지 명령을 실행 한 결과는 모두 동일합니다.
shell>mysqld
shell>mysqld --character-set-server=latin1
shell>mysqld --character-set-server=latin1 \
--collation-server=latin1_swedish_ci
설정을 변경하는 방법 중 하나는 다시 컴파일합니다. 소스에서 빌드 할 때 기본 서버 문자 집합 및 정렬 순서를 변경하려면 CMake의 DEFAULT_CHARSET
및 DEFAULT_COLLATION
옵션을 사용합니다. 예 :
shell> cmake . -DDEFAULT_CHARSET=latin1
또는 :
shell>cmake . -DDEFAULT_CHARSET=latin1 \
-DDEFAULT_COLLATION=latin1_german1_ci
mysqld와 CMake 모두는 문자 셋과 콜레 션의 조합이 유효한지 확인합니다. 조합이 유효하지 않은 경우 각 프로그램에서 오류 메시지가 표시되고 종료됩니다.
서버 문자 집합 및 데이터 정렬은 데이터베이스 문자 집합 및 정렬 순서가 CREATE DATABASE
문에 지정되지 않은 경우 기본값으로 사용됩니다. 이에 다른 용도는 없습니다.
현재 서버 문자 집합 및 데이터 정렬은 character_set_server
및 collation_server
시스템 변수의 값으로 판별 할 수 있습니다. 이러한 변수는 런타임에 변경할 수 있습니다.