Mysql 4.0 ( euc_kr ) 환경에서 Mysql 5.x ( UTF-8) 환경으로 데이터 이전시

레코드에 포함된 한글 문자열이 모두 깨져서 입력된 경우 이를 올바르게

처리했던 성공사례를 기록한다.

A서버 (Mysql 4.0)

mysqldump -u root -p --default-character-set=euc_kr DB명 > DB명.sql

scp 명령을 이용하여 B서버 (Mysql 5.x) 로 파일 복사

B서버 (Mysql 5.x)

vi 에디터로 sql 파일 내의 TYPE=MyISAM 을 ENGINE=MyISAM 으로 모두 치환

iconv -c -f CP949 -t UTF-8 DB명.sql > DB명_UTF8.sql

CP949 언어셋에 대한 상세 내용은 아래 링크 참조

https://ko.m.wikipedia.org/wiki/%EC%BD%94%EB%93%9C_%ED%8E%98%EC%9D%B4%EC%A7%80_949

새롭게 생성된 UTF-8용 sql 파일을 B서버의 DB명 에 import 시킨 후 phpmyadmin 과 같은

프로그램에서 문자열이 깨지지 않는지 체크해 본다.


cgi 기반의 프로그램 실행시 Internal Server Error 가 발생하여

로그를 확인해보니 아래와 같은 에러 메시지가 발견되었다.

error while loading shared libraries: libstdc++-libc6.2-2.so.3: cannot open shared object file: No such file or directory

이런 경우

yum -y install compat-libstdc++-296

해주면 정상적으로 cgi가 실행될 것이다.


 

tail -f /var/log/maillog 를 실행 하고, outlook에서 로그인메뉴에서 계속 권한 요청이 반복되는 오류를 확인
아래와 같은 오류 발생

localhost dovecot: pop3-login: Login: user=<abc>, method=PLAIN, rip=115.68.62.13, lip=192.168.1.24, mpid=27289
localhost dovecot: pop3(abc): Error: chown(/home/abc//mail/.imap/INBOX, -1, 12(mail)) failed: Operation not permitted (egid=501(abc), group based on /var/mail/abc)

localhost dovecot: pop3(abc): Error: mkdir(/home/ponstory//mail/.imap/INBOX) failed: Operation not permitted
localhost dovecot: pop3(abc): Error: Couldn't open INBOX: Internal error occurred. Refer to server log for more information. [2014-01-12 16:16:38]
localhost dovecot: pop3(abc): Couldn't open INBOX top=0/0, retr=0/0, del=0/0, size=0

해결
/var/mail 밑에 계정들에 대한 권한은 chmod를 이용해 0600으로 변경한다.
ex)chmod 0600 변경할 계정 입력


Apache 2.4.x 버전대에서 아파치를 실행하려고 할 때 아래와 같은 메시지가 나온다.

AH00548: NameVirtualHost has no effect and will be removed in the next release

2.4버전 이상에서는 NameVirtualHost 설정이 더 이상 필요없다고 하니

해당 라인을 찾아서 주석처리 하거나 라인을 삭제하자.


 

CentOS 7 에서 로케일 변경하는 방법입니다.


현재 사용가능한 한글관련 로케일


# localectl list-locales | grep -i ko

ko_KR

ko_KR.euckr

ko_KR.utf8

kok_IN

kok_IN.utf8

korean

korean.euc

ru_RU.koi8r

ru_UA.koi8u

tg_TJ.koi8t

uk_UA.koi8u

utf8 로 변경


 # localectl set-locale LANG=ko_KR.utf8

수동으로 변경시는 /etc/locale.conf 파일을 만들어 아래 내용 추가


LANG=ko_KR.utf8

서버 부팅 후 로케일 설정 확인


# locale

LANG=ko_KR.utf8

LC_CTYPE="ko_KR.utf8"

LC_NUMERIC="ko_KR.utf8"

LC_TIME="ko_KR.utf8"

LC_COLLATE="ko_KR.utf8"

LC_MONETARY="ko_KR.utf8"

LC_MESSAGES="ko_KR.utf8"

LC_PAPER="ko_KR.utf8"

LC_NAME="ko_KR.utf8"

LC_ADDRESS="ko_KR.utf8"

LC_TELEPHONE="ko_KR.utf8"

LC_MEASUREMENT="ko_KR.utf8"

LC_IDENTIFICATION="ko_KR.utf8"

LC_ALL= 


# cat /etc/locale.conf



출처: http://itposting.tistory.com/62 [IT 관련 포스팅]

'Works > CentOS' 카테고리의 다른 글

강제 umount 방법 (umount : device is busy 발생시)  (0) 2018.10.22
yum 트랜잭션 및 롤백  (0) 2018.09.07
SFTP log 설정  (0) 2018.02.22
dig 개념 및 사용법  (0) 2017.11.01
크론테이블에 등록 : crontab -e  (0) 2017.09.22