MariaDB 한글 설정


MariaDB 10.5에서 한글을 제대로 처리하려면 문자 집합(character set)정렬 1칙(collation)을 한글에 맞게 설정해야 합니다. 보통은 UTF-8을 사용하면 한글이 제대로 처리됩니다.
> 한글 입력을 위한 설정 방법
:: my.cnf (또는 mariadb-server.cnf ) 파일 수정
/etc/my.cnf.d/mariadb-server.cnf

 my.cnf 또는 mariadb-server.cnf 파일에서 기본 문자 집합과 정렬 규칙을 UTF-8로 설정합니다.
mariadb-server.cnf 파일을 열고, 아래와 같은 설정을 추가하거나 수정합니다.

[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

utf8mb4는 UTF-8의 확장판으로, 한글을 포함한 모든 유니코드 문자를 지원. utf8mb4_unicode_ci는 대소문자를 구분하지 않고, 유니코드 기준으로 정렬하는 규칙.

MariaDB에서는 각 데이터베이스와 테이블에 대해 문자 집합과 정렬 규칙을 설정할 수 있음.

> 데이터베이스 생성 시 설정:

CREATE DATABASE mydatabase
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;


> 기존 데이터베이스에 설정 적용:
이미 생성된 데이터베이스에 대해 문자 집합과 정렬 규칙을 변경하려면 다음 SQL 명령어를 사용합니다.

ALTER DATABASE mydatabase
CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;

> 테이블의 문자 집합 및 정렬 규칙 변경:

ALTER TABLE mytable
CONVERT TO CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;



> 클라이언트 문자 집합 설정
MariaDB에 연결할 때, 클라이언트 측에서 사용할 문자 집합도 설정할 수 있습니다. 이를 위해 연결 후 다음 SQL 명령어를 실행.

SET NAMES utf8mb4;
 이 명령은 현재 세션에 대해 문자 집합을 utf8mb4로 설정합니다.

> 테스트
설정이 완료되면, 한글을 입력하고 제대로 저장되는지 확인합니다.

INSERT INTO mytable (column_name) VALUES ('한글 테스트');
SELECT * FROM mytable;

> 서버 재시작
설정을 변경한 후에는 MariaDB 서버를 재시작해야 적용됩니다.

systemctl restart mariadb

위로 스크롤