
--default-character-set 옵션은 MySQL 서버의 모든 연결에서 기본 문자셋을 설정하는 것처럼 보이지만, 실제로 설정된 문자셋은 아님을 확인하는 방법은 다음과 같습니다.
1. MySQL 서버를 다시 시작한 후, SHOW VARIABLES LIKE 'character_set_database'; 명령어를 실행하여 character_set_database 변수의 값을 확인합니다.
2. SHOW TABLE STATUS LIKE '테이블명'; 명령어를 실행하여 TABLE_COLLATION 변수의 값을 확인합니다.
3. 만약 character_set_database 변수의 값과 TABLE_COLLATION 변수의 값이 일치하지 않는다면, 해당 옵션을 사용한 후 MySQL 서버를 다시 시작한 후, SHOW CREATE TABLE 테이블명; 명령어를 실행하여 테이블의 생성 문장을 확인합니다.
4. 테이블의 생성 문장에 CHARACTER SET 옵션을 확인합니다.
5. 만약 CHARACTER SET 옵션을 사용하지 않았다면, ALTER TABLE 테이블명 CHARACTER SET '설정된 문자셋'; 명령어를 실행하여 테이블의 문자셋을 설정합니다.
또한, MySQL 8.0 버전부터는 --default-character-set 옵션을 사용할 수 없습니다. 대신, character_set_server 시스템 변수를 사용하여 기본 문자셋을 설정할 수 있습니다.
character_set_server 시스템 변수를 설정하는 방법은 다음과 같습니다.
1. MySQL 서버를 다시 시작한 후, SET GLOBAL character_set_server = '설정된 문자셋'; 명령어를 실행하여 character_set_server 시스템 변수의 값을 설정합니다.
2. SHOW VARIABLES LIKE 'character_set_server'; 명령어를 실행하여 character_set_server 시스템 변수의 값을 확인합니다.
이러한 방법을 통해 --default-character-set 옵션을 사용한 후 MySQL 서버를 다시 시작한 후, SHOW VARIABLES LIKE 'character_set_database'; 명령어를 실행했을 때, character_set_database 변수의 값이 설정된 문자셋과 일치하는지 확인할 수 있습니다.
2025-07-28 15:05