Unix/Solaris10

mySQL설치

ForceCore 2006. 7. 9. 02:42
PHP와, mySQL이 되어야 제로보드나 위키나... 등
원하는 짓을 하기 수월해진다. 이번엔 mySQL편이다.
역시sunfreeware에 패키지가 있다.

컴파일만 되어있고, 다른 유저 그룹 설정이나 SMF화는 되어있지 않은 모양이다.
/usr/local/mysql/doc/mysql
에 있는 매뉴얼을 보고 밟아나가기로 했다.

패키지 배포자가 한 단계는
configure
make
make install
까지이다.

그룹추가.
# groupadd mysql
# useradd -g mysql -s /bin/false -d /var/mysql -c "mySQL user" mysql

여기까진 vi에디터로 README를 보아서 잘 했는데
그 이후를 조악한 vi에디터로 보려니까 미치겠다 -0-
www.mysql.com의 문서 섹션으로 갔다.
http://dev.mysql.com/doc/refman/4.1/en/index.html
:: 살 것 같다. HTML언어가 나왔을 때 클릭하면 원하는 곳으로
가진 다는 개념이 굉장히 혁신적인 개념이었지 ㄱ-;; 지금은
누구나 아무렇지도 않게 누리고 있지만 :D

post installation setup and testing을 하면 될거 같은데 ㅡㅡa
http://dev.mysql.com/doc/refman/4.1/en/unix-post-installation.html
흠.... make install까지 되었고, 계정까지 생성되었으므로 install_db인가 뭔가를
해야 할 차례인듯 싶다.

cp support-files/my-medium.cnf /etc/my.cnf
를 하라고 매뉴얼에 나와있다... locate로 찾아서 복사했다.
(/usr/local/mysql/share/mysql/my-medium.cnf)

BASEDIR은 우리 패키지에 의하면 /usr/local/mysql이다.
/usr/local/mysql/scripts/mysql_install_db --user=mysql
스크립트를 실행시키니, 무슨 라이브러리가 없다고 한다.
역시.... sunfreeware사이트에서 말하던 라이브러리가 없는 모양이군!
libgcc라이브러리를 설치했다.

스크립트를 다시 실행시키니 성공적.
그러고나서 뭐라고뭐라고 하면서 어떻게 뭘 해야 하는지
말해준다. 친절해라 -_-ㅋ;;

--------------------------------------------------------
SMF서비스화
To start mysqld at boot time you have to copy support-files/mysql.server
to the right place for your system
라고 하는군! 이 방법은 rc2.d, rc3.d를 이용하는 방법이지만,
솔라리스에서 정파는 SMF다 -_-!

/etc/services를 수정해서
 3306번 포트를 등록해주었다. mysqld라고.
(무슨 기능을 하는지 아직도 잘 모르겠다. 딱히 방화벽이 설치되어 있는 것 같지도 않고.)

http://www.sun.com/bigadmin/content/submitted/mysql_smf_tip.html
SMF화를 해놓은 사람이 이미 있다... 썬의 문서를 컨닝하자. 우후후 ㄱ-

xml 파일을 만든 (혹은 첨부 파일을 받아서) 다음에..
약간 수정한다.

name=start
name=stop
이런게 보일 것이다.
/usr/local/mysql/share/mysql/mysql.server
그 시작/stop스크립트로 위에 주어진 스크립트를 사용하라.
제공되는 것을 쓰는게 좋으니깐 -_-a
물론 썬의 컨닝 모범답안(?)에는 자기가 스크립트를 짰다. -_-a

최종적으로
# svccfg -v import mysql.xml
로 임포트를 한다.

restart로 서비스를 재시작시키니 씨도 안 먹힌다.
재부팅까지 시켰다. 이제 mysql서비스가
online이라는 메시지가 보인다.

-----------------------------------------------------
이제 mySQL root의 비번을 정해줄 시간이다.
mysqladmin을 사용한다...
# mysqladmin version
을 체크해서 제대로 된 결과가 나오는지 확인한다.
무사통과.

/usr/local/mysql/bin/mysqladmin -u root password 'new-password'
/usr/local/mysql/bin/mysqladmin -u root -h XXX password 'new-password'
XXX자리에는 uname -n을 쳐서 나오는 것을 대입한다. (host name이다 -_-a)

--------------------------------------------------
Test1.
/usr/local/mysql/mysql-test/mysql-test-run
을 해본다. 대략 여러개가 PASS이면 OK -_-a

Test2.
실제로 php+mysql을 쓰는 것을 실행시켜본다.