티스토리 뷰
mysql 5.5를 rpm으로 설치했더니 my.cnf 파일이 없습니다.
/usr/share/mysql 밑에 my-*.cnf 중 해당 서버에 맞는 파일을 복사합니다.
전 my-huge.cnf를 /etc/my.cnf로 복사했습니다.
/etc/my.cnf 를 아래 내용을 추가하여 charset 을 변경합니다.
[mysql] default-character-set = utf8 [client] default-character-set = utf8 [mysqld] character-set-client-handshake=FALSE init_connect="SET collation_connection = utf8_general_ci" init_connect="SET NAMES utf8" character-set-server = utf8 collation-server = utf8_general_ci [mysqldump] default-character-set = utf8
MySQL 서비스 재시작
service mysql restart
charset 확인
mysql> show variables like 'char%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.00 sec)
이렇게 했는데 계속 한글이 제대로 입력이 안되서 검색해보니 기존에 만들어진 테이블은 지우고 다시 만들어야됩니다.
전 workbench에서 기존 테이블 생성문을 뽑아서 charset만 바꿔줬는데 테이블에만 charset 설정이 있는 줄 알았더니 컬럼에도 charset 설정이 있습니다 주의하세요~!!
CREATE TABLE `test` ( `pool_id` int(11) NOT NULL AUTO_INCREMENT, `pool_name` varchar(50) CHARACTER SET utf8 NOT NULL, PRIMARY KEY (`pool_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8
참고
Linux(CentOS 5.5) - MYSQL 설치하기
반응형
댓글