MySQL character set 확인 및 변경
1.서버안에서character set 확인
mysql> show character set ; ///사용할 수 있는 캐릭터 셋 종류 확인
mysql> show character set where description like '%Korean%' ;
///description의 칼럼에서 korean단어를 포함하고있는 캐릭터셋 찾기
간단하게 캐릭터 셋 확인하는 방법
mysql> status
Server characterset: latin1
Db characterset: latin1
Client characterset: utf8
Conn. characterset: utf8
========================================================================
Servere characterset : 데이터베이스 생성 시 기본 값을 지정해 주지 않을 경우, 이 값으로 데이터 베이스 캐릭터 셋이 설정 됨.
DB characterset : 테이블 생성 시 기본 값을 지정해 주지 않을 경우, 이 값으로 테이블의 캐릭터 셋이 설정 됨.
Client characterset : 클라이언트 인코딩 설정 값.
========================================================================
서버안에서 데이터 베이스 default character set 설정
생성 시 설정해 주는 방법
CREATE DATABASE `utf8db` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;
CREATE DATABASE `euekrdb` DEFAULT CHARACTER SET euckr COLLATE euckr_korean_ci ;
Alter 명령으로 변경 하는 방법
ALTER DATABASE db명 DEFAULT CHARACTER SET utf8 ;
데이터베이스 캐릭터 셋 확인
SELECT schema_name , default_character_set_name
FROM information_schema.schemata ;
테이블의 캐릭터 셋 설정 및 확인
CREATE TABLE 테이블명 (id int , name varchar(10)) DEFAULT CHARSET=utf8 ;
SELECT table_schema , table_name , table_collation
FROM information_schema.tables
WHERE table_schema = 'information_schema' AND table_name = 'PROCESSLIST'
임시적인 변경
mysql> set names 케릭터셋 ;
mysql> set names latin1 ;
서버밖에서 데이터 베이스 default character set 설정
영구적인 변경
/etc/my.cnf 파일에 캐릭터 셋을 명시 후 MySQL 재 기동.
예) utf8로 변경 시
[client]
default-character-set = utf8
[mysql]
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 5. 대 인듯하나..5.5에서 부터 좀 변경이 된건지...위와 같이하면 mysql실행시 조차 되지않는다.
그래서 아래와 같이 변경하니 언어셋이 모두 euckr로 변경이 되엇다..
-------------------------------------------------------------------------------
[client]
default-character-set = euckr
[mysqld]
character_set_server=euckr
[mysqldump]
character_set_server = euckr
[mysql]
default-character-set=euckr
-------------------------------------------------------------------------------
그리고 특정 데이터베이스의 전체 언어셋 변경 쿼리문
[ euckr ]
alter database [DB명] default character set euckr collate euckr_korean_ci;
[ utf8 ]
alter database [DB명] default character set utf8 collate utf8_general_ci;
'DB > DB 공통 관리' 카테고리의 다른 글
DB 용어 (0) | 2023.03.12 |
---|---|
DB crash 확인 및 복구, 백업 및 복원 (0) | 2023.03.12 |
MySQL 구조 (0) | 2023.03.11 |
사이트 접속했을때 Too many connection가 나올때 (0) | 2023.03.02 |
MySQL, MariaDB 비밀번호 변경 및 유저 생성 (0) | 2023.03.02 |
댓글