티스토리 뷰

반응형

 

Author: 니용

 

Database 언어중에 저는 MySQL을 주로 사용하고 있는데요 이유는 프리웨어이기도 하지만, 문법적으로 제공하는 함수가 Oracle 보다도 더 광범위하다고 느꼈어요.

 

이번에는 MySQL 환경 설정 중에 기본 언어를 설정하는 것인데, 기본 언어를 왜 설정하는 것이냐? 하실거에요

데이터를 담기 위해 각 국가에 맞는 포맷이 있어요. 우리 나라는 그 중에서 utf8을 주로 사용하는데, 처음에 DB 스키마를 작성할 때 그냥 기본값으로 설정을 한다면 latin_swedish로 설정이 되게 되요.

 

즉, 테이블을 생성할 때마다 일일히 latin_swedish 로 되어 있는 언어 기본값을 utf8로 변경해주어야 하는 번거로움이 있죠.

 

그래서 이 부분을 변경하는 걸 확인해보려 합니다.

제 개발 환경은 아래와 같아요.

 

MySQL 8.1

Ubuntu OS

 


Step1 : 경로 찾기

 

먼저 MySQL 을 세팅해보려고 합니다. 

Ubuntu 환경에서 사용하는 만큼 linux 명령어를 활용합니다.

 

MySQL 위치로 이동하려면 기본적인 설치는 

 

/var/lib/mysql 

 

의 위치에 저장하게 되고, 설정 파일의 위치는 아래와 같습니다.

 

/etc/mysql/my.cnf

 

아래 명령어를 사용하면 더 빠르게 찾아보실 수 있어요.

mysqld --verbose --help | grep -A 1 'Default options'

Step 2 : vi 명령어 활용하기

 

그 다음으로는 vi 명령어를 사용해서 my.cnf 파일을 열어봅니다.

 

vi /etc/mysql/my.cnf

 

처음에 오픈하게 되면 명령 모드(command mode)로 설정되기 때문에 읽기 권한만 부여되요.

입력 모드(insert mode)로 변환하기 위해서는 키보드의 'i' 혹은 'a'를 입력하면 됩니다.

 


Step 3 : 편집 모드로 전환 & 저장하기

 

 

오픈되어 있는 에디터에서 각 괄호 아래에 다음과 같이 추가해줍니다.

입력 모드에서는 복사(Ctrl+C), 붙여넣기(Ctrl+V) 가 안되기 때문에 일일히 타이핑을 해주어야 하는 번거로움이 있습니다.

[client]
default-character-set = utf8
 
[mysqld]
skip-character-set-client-handshake
default-character-set = utf8
character-set-server = utf8
collation-server = utf8_general_ci
init-connect = SET NAMES utf8
 
[mysqldump]
default-character-set = utf8
 
[mysql]
default-character-set = utf8

 

이후 입력 모드에서 명령 모드로 빠져나오기 위해 'ESC' 키를 누르고 저장을 해야겠죠?

저장은 명령 모드에서 콜론(:)을 입력하고 'wq'를 입력하고 엔터를 치면 저장 후 종료가 됩니다.

그냥 종료는 'q'만 입력하시면 됩니다.


Step 4 : 환경설정 재설정 하기

 

마지막으로 지금 작동하고 있는 mysql 서비스를 재부팅 시켜줘야 합니다. 

Ubuntu 명령어를 다음과 같이 입력해줍니다.

 

service mysql restart

 

이 외에도 시작은 service mysql start / 정지는 service mysql stop / 상태 확인은 service mysql status 입니다.

 

이렇게 되면 mysql 을 환경 설정값에 맞게 변환 가능하여 사용 가능합니다!

읽어주셔서 감사합니다 :)

 

https://unix.stackexchange.com/questions/122291/where-is-mysql-installed-on-my-machine

 

Where Is MySQL installed on My Machine?

What is going on, everybody? Recently I have installed MySQL server on my Debian machine using Advanced Packaging Tool, and I am curious where it is installed and how I can find all the source fil...

unix.stackexchange.com

https://blockdmask.tistory.com/25

 

[vi 명령어] vi 명령어 정리

[리눅스나 유닉스에서 사용하는 vi 편집기 명령어 총 정리 입니다.] <목차> 1. vi 편집기 명령어 전체 구조 살펴보기 2. vi 명령어 총정리 (자주 사용하는 것은 색으로 표시) 3. 제가 진짜로 사용하는

blockdmask.tistory.com

https://blog.naver.com/ncloud24/220840118820

 

서버관리 Tip. Mysql 언어셋 변경 방법

Mysql 언어셋 변경 방법은 임시적인 변경 방법과 영구설정 변경 방법이 있습니다. 먼저 임시적으로 변경하...

blog.naver.com

https://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_MySQL_%EC%8B%9C%EC%9E%91,_%EC%A0%95%EC%A7%80,_%EC%9E%AC%EC%8B%9C%EC%9E%91,_%EC%83%81%ED%83%9C%ED%99%95%EC%9D%B8

 

리눅스 MySQL 시작, 정지, 재시작, 상태확인 - 제타위키

다음 문자열 포함...

zetawiki.com

 

반응형

'Server' 카테고리의 다른 글

MySQL Function 만들기  (1) 2020.06.12
MySQL 의 LEFT OUTER JOIN - 23년 7월 수정  (0) 2020.06.11
로그 명령어와 grep 옵션  (0) 2020.05.26
MySQL 함수(SUBSTR, DATE_FORMAT, CAST)  (0) 2020.04.22
[Java] 타입 변환  (0) 2020.04.17
Firebase 알아보기  (0) 2020.04.07
댓글
공지사항