2008. 8. 5. 17:12

FreeBSD에서 MySQL 4.x 설치시 기본 문자셋 지정.

http://database.sarang.net/?inc=read&aid=25048&criteria=mysql&subcrit=&id=&limit=&keyword=&page=

FreeBSD 에서 mysql41-server 포트설치 하실때 기본 문자셋 설정법 입니다.

#cd /usr/ports/databases/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_install_db
chown -R mysql /var/db/mysql/
chgrp -R mysql /var/db/mysql/
/usr/local/bin/mysqld_safe -user=mysql &

  1. Note: If you encounter Command not found error, use command rehash to update OS path environment variables.
  2. The port installation will put a script file mysql-server.sh in /usr/local/etc/rc.d which will has capability to start MySQL server. To enable MySQL server to start automatically after every FreeBSD server reboot, enter the following command in CLI:echo ‘mysql_enable=”YES”‘ >> /etc/ rc.conf
  3. By default, MySQL default super user account - root - has no password (blank password). So it’s important to assign the administrator account password. To change the password to root user, enter the following command:mysqladmin -u root password newpasswordReplace newpassword with your own desired password.
  4. Optionally, copy either my-huge.cnf, my-large.cnf, my-medim.cnf, my-small.cnf or my-innodb-heavy-4G.cnf (depending on the usage and utilization of MySQL server) as my.cnf to /var/db/mysql which will enable you to tweak and change the configuration of server-specific MySQL server options by editing the file.
  5. MySQL 4.x installation done.

http://www.mydigitallife.info/2006/04/13/installing-web-server-in-freebsd-60-with-apache-22-mysql-50-and-php-5-part-3/