업무에서 MaridaDB를 사용할 경우가 생겼는데요.
MariaDB 설치는 MariaDB공식 홈페이지에서 무료 버전인 커뮤니티 버전을 받을 수 있고요.
OS에 맞춰서 설치 파일을 다운로드하시면 됩니다.
다만 이렇게 최초 설치 후에는 latin1이라는 케릭터셋으로 설정되어 있어서 아래처럼 한글이 깨져서 표현됩니다.
table을 조회해보면 아래와 같이 한글이 깨져서 알 수 없는 문구로 나옵니다.
이 경우에 Maria DB의 설정도 변경해야 하고, CMD를 통해서 사용하신다면 CMD의 설정 역시 변경해줘야 합니다.
한글이 깨지는 현상은 저번 포스팅에 자세히 적어 놓았기 때문에 참고하시기 바랍니다.
2022.02.17 - [Tip & Tech/Python] - 파이썬 CSV 엑셀 한글 깨짐 해결하기
Marid DB 설정하기
먼저 한글 설정은 케릭터셋 문제이므로,
MariaDB에서 status 명령어를 통해 한번 확인해보셔야 합니다.
저는 이미 세팅을 모두 마친 상황으로 characterset이 utf8로 나오지만 latin1이 기본값으로 설정되어 있습니다.
이 케릭터셋을 변경하기 위해서는 마리아DB의 my.ini를 변경해야 합니다.
해당 파일을 검색하여 연 다음 아래와 같이 내용을 추가해줍니다.
실제 코드는 하기에 첨부하였습니다.
[mysqld]
datadir=C:/Program Files/MariaDB 10.5/data
port=3306
innodb_buffer_pool_size=1000M
init_connect=SET collation_connection = utf8_general_ci
init_connect=SET NAMES utf8
character-set-server = utf8
collation-server = utf8_general_ci
[client]
port=3306
plugin-dir=C:/Program Files/MariaDB 10.5/lib/plugin
default-character-set = utf8
[mysqldump]
default-character-set = utf8
[mysql]
default-character-set = utf8
해당 내용을 추가한 뒤 마리아DB 서비스를 재기동하시고
CTRL+ALT+DEL 키로 작업 관리자를 실행한 다음 서비스에서 MariaDB를 재시작합니다.
재기동되면 show variables like 'c%'; 명령어를 통해서
character_set 설정이 utf8로 변경되었는지 확인합니다.
이 작업이 완료된 다음 작업하고자 하는 데이터베이스의 케릭터셋도 변경해주셔야 합니다.
CREATE TABLE 명령어를 통해서 간단히 TABLE 하나를 생성해 보았고요.
alter database [데이터베이스명] default character set UTF8; |
이후 쿼리를 진행하면
아까와 달리 한글이 정상적으로 표현되는 것을 알 수 있습니다.
좌측이 작업하기 전이고, 우측이 작업한 후입니다.
다만 해당 설정을 하더라도 CMD가 UTF8을 지원하지 않으면 에러가 뜰 수 있는데요.
cmd의 명령어인 chcp 65001을 입력해주시기 바랍니다.
자동으로 케릭터셋을 UTF-8로 변경하고 싶으시면 regedit을 통해서
컴퓨터\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor 로 이동하신 다음
Autorun이라는 값을 추가하시고 데이터를 chcp 65001로 설정해주시기 바랍니다.
SQLYOG 등 외부 프로그램 사용하기
그럼에도 한글이 잘 되지 않는다면 sqlyog와 같은 프로그램을 통해서 사용해볼 수 있습니다.
sqlyog는 웹요그사가 개발한 MySQL용 GUI 도구입니다.
Mysql과 mariaDB는 호환이 되기 때문에 sqlyog역시 잘 동작합니다.
위 링크에서 무료 버전인 커뮤니티 버전을 다운로드할 수 있고요.
설치하신 다음 Query에 문법을 적으시고 F9 등으로 실행하면 하단에 결과가 나옵니다.
사용법이 그리 어렵지 않으니, CMD에서 잘 되지 않는다면 이 방법을 통해서 한글로 설정해서 사용하시기 바랍니다.
그럼 잘 사용하시기 바랍니다.
'Tip & Tech > SQL' 카테고리의 다른 글
Mariadb 에러 - ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY' (2) | 2022.07.07 |
---|---|
SQL 이란? (16) | 2022.02.11 |
[DB] 오라클 질의 연습 (0) | 2015.11.08 |
[DB] 오라클 DML/DDL/DCL 차이 (0) | 2015.11.07 |