Mysql 설치 후 콘솔상에서 한글입력이 되지 않는 경우가 있습니다.
mysql 설정을 모두 euckr로 했음에도 말이죠…
예를 들어 다음과 같이 mysql 접속 후 한글이 포함된 쿼리문을 입력시…한글을 먹어버리는듯한….
사용할 쿼리문 : select ‘하우투’ from howto_tables 문제상황 : select ” from howto_tables =======> 요런식으로 한글입력이 되지 않는 경우…. |
우선 [ my.cnf ] 및 [ mysql> SHOW VARIABLES LIKE ‘character_set%’ ] 를 통해 언어셋이 euckr 이라고 가정하고
다음과 같이 Mysql 버전 확인을 통해 한글입력이 가능한지의 여부를 확인합니다.
# mysql -V |
위와 같이 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 : euckr로 charset 지정
–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 : 설정파일 디렉토리
|