메뉴 닫기

MySQL 콘솔에서 한글입력이 되지 않을땐…..

mysql
Mysql 설치 후 콘솔상에서 한글입력이 되지 않는 경우가 있습니다.
mysql 설정을 모두 euckr로 했음에도 말이죠…

예를 들어 다음과 같이 mysql 접속 후 한글이 포함된 쿼리문을 입력시…한글을 먹어버리는듯한….

사용할 쿼리문  :  select ‘하우투’ from howto_tables   
문제상황  :  select ” from howto_tables      =======>  요런식으로 한글입력이 되지 않는 경우….         

우선 [ my.cnf ] 및 [ mysql> SHOW VARIABLES LIKE ‘character_set%’ ]  를 통해 언어셋이 euckr 이라고 가정하고
다음과 같이 Mysql 버전 확인을 통해 한글입력이 가능한지의 여부를 확인합니다.

# mysql -V
/usr/local/mysql/bin/mysql Ver 14.14 Distrib 5.1.63, for unknown-linux-gnu (x86_64) using EditLine wrapper 

위와 같이 mysql 버전이 확인되는 경우 mysql 콘솔 상에서 한글입력이 되지 않을것입니다.
이러한 경우 최초 mysql 을 설치한 소스파일을 이용하여 재컴파일을 해야 하며, 재컴파일 시 “–with-readline ” 
옵션을 추가하여 컴파일 하면 됩니다. 컴파일 후에는  make , makeinstall을 다시해주면  정상적으로 한글입력이 됩니다.

한글입력이 되는 상태에서 Mysql 버전을 확인해보면 다음과 같이 확인 될 것입니다.

mysql -V
/usr/local/mysql/bin/mysql Ver 14.14 Distrib 5.1.63, for unknown-linux-gnu (x86_64) using readline 5.1
===>  한글입력 가능상태

단, 주의 할 것은…..다른 작업시에도 마찬가지지만…원본데이터들은 항상 백업해두시길…^^;
참고사항으로 mysql 컴파일시 사용되는 몇가지 옵션들을 정리하여 드립니다.

–prefix=/usr/local/mysql : 컴파일후 관련된 파일들이 설치되는 디렉토리
–bin-dir = DIR : 클라이언트 실핼파일과 스크립들이 저장되는 디렉토리
–libexec=DIR : mysql 데몬
–localstatedir=/usr/local/mysql/data : 사용자의 데이터와 로그파일를 저장할 디렉토리
–with-charset=euckr : euckrcharset 지정
–with-extra-charsets=all : 추가 charset 지정, none,complex,all 또는 charset 리스트
–with-unix-socket-path=/tmp/mysql.sock : 소켓디렉토리 
–with-tcp-port=3306 : 포트 지정
–with-mysqld-user=mysql : 데몬실행 계정 지정
–with-debug : debug code추가 , 사용안하는 경우 without 옵션으로 등록
–without-readline : 콘솔에서 한글 입력가능
–enable-thread-safe-client : 쓰레드 지원
–without-server : 서버 기능 없이 클라이언트로만 사용하고자 할 때 즉 클라이언트로만 사용할 때
–enable-assembler : 어셈블러  함수 지원
–with-mit-threads : 강제로 MIT-pthreads 를 실행하고자 할때
–sysconfdir=/etc : 설정파일 디렉토리

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다