리눅스

Total 331
Today 0
profile_image
윤진한
08-01-07 08:55 0개 13회
일반문서
[FreeBSD] mysql41-server 포트설치 하실때 기본 문자셋 설정법 입니다
# make WITH_CHARSET=euckr WITH_COLLATION=euckr_korean_ci install clean
이렇게 한줄만 쳐주시면 my.cnf 만들것도 없이 설정 끝납니다.
WITH_CHARSET=euckr 만 주고 컴파일 할경우 euckr 바이너리 화일 없다는 에러만뜨면서
mysql 이 구동되지 않습니다..
 
상기 두가지 옵션 모두 주고 설치하실경우 mysql 에 접속해서
status 명령치시면
Server characterset: euckr
Db characterset: euckr
Client characterset: euckr
Conn. characterset: euckr
이라고 나오는거 보실수 있을겁니다.
 
기존 디폴트값으로 (라틴1) 설치하신분들중 pkg_delete 로 삭제시 의존성때문에
클라이언트가 삭제되지 않으실경우
서버및 클라이언트 포트 디렉토리에서 make deinstall 로 서버버전과 클라이언트를 모두 제거하시면 되고 재설치시 install 이 아닌 reinstall 로 설치하시면 잘 작동합니다.
참고로 재설치후 mysql-server.sh 가 아무런 메세지도 없이 실행되지 않는 상태가 될경우
에러로그 보시면 대부분 답이 나오구요 (제경우엔 /etc/rc.subr 화일의 퍼미션과
실행 스크립트의 my.cnf 위치옵션이 업는 디렉토리를 참조하게 되어서 구동이 안되었었습니다.)
 
작업전 포트 업그레이드 해두시는게 좋겠죠? (현재 4.1.15로 설치됩니다.)
 
Mysql 4.1 에서
my.cnf 에 디폴트 캐릭터셋 설정은
[mysqld] 섹션이 아니라
[mysql] 섹션이며
default-character-set=euckr
이라는 옵션을 추가하면 적용이 된다라고 하지만
문자셋 바이너리 화일이 컴파일 되지 않고 기본 설치된경우엔 이옵션을 줘도 바이너리 화일없으니
배째라고 해버립니다.. 이 에러메세지를 보시면
euckr_korean_ci 라는 화일이 없다 라는 말이죠..
위에서 WITH_CHARSET=euckr 만 넣어주면 바이너리 화일이 없기때문에 구동불가며
WITH_COLLATION=euckr_korean_ci 만 넣어주면 euckr 문자셋의 바이너리화일은
설치되지만 기본값은 라틴1이며 my.cnf 화일에 저 옵션을 적어줘야 하게되는겁니다.
 
mysql 설정파일 복사
my-large.cnf 나 my-small.cnf 파일을 복사하여도 상관없습니다.
여기서는 my-medium.cnf파일을 복사합니다.
# cp /usr/local/share/mysql/my-medium.cnf /etc/my.cnf
 
기본데이타베이스 설치
# /usr/local/bin/mysql_install_db
 
mysql 유저 생성해주고 /var/db/mysql/의 소유자를 mysql로 
# chown -R mysql /var/db/mysql/
 
mysql 그룹 생성해주고 /var/db/mysql/의 그룹을 mysql로 
# chgrp -R mysql /var/db/mysql/
설치완료 후 path등록
새로설치된 어플리케이션의 위치를 등록하는 명령어인 rehash를 실행합니다.
(csh이 아닐 경우 csh로 변경해서 실행)
# cd /usr/local/bin/;rehash
 
anonymous 계정을 막자.
anonymous 계정은 실제로 사용되는 경우가 드물기 때문에 아예 삭제를 하도록 합니다.
# mysql -u root
mysql> DELETE FROM mysql.user WHERE User = '';
mysql> FLUSH PRIVILEGES;
 
관리자 비밀번호 지정
기본적으로 root계정이 localhost와 url 두개의 계정이 셋팅되어 있습니다.
그런데 보안상 특별한 경우가 아니면 url은 사용안하는것이 좋다고 합니다.
디폴트로 url접속은 막혀있습니다.
mysql이 실행된 상태에서
mysqladmin으로 root의 암호를 설정해줍니다.
"비밀번호" 안에 원하는 비밀번호를 입력합니다.
# /usr/local/bin/mysqladmin -u root password "비밀번호"
# /usr/local/bin/mysqladmin -u root -h host_name password '비밀번호'
그런데 2번째 url은 막혀있어서 안될겁니다.
그럴 때는 mysql에 들어가서 패스워드를 설정해주면 됩니다.
mysql>SET PASSWORD FOR 'root'@'host_name' = PASSWORD('비밀번호');
 
시작브로그램으로 등록
mysql_enable="YES" 를 적당한 위치에 삽입합니다.
# vi /etc/rc.conf

댓글목록

등록된 댓글이 없습니다.