본문 바로가기

Linux Server 구축/1-2. Web Server

APM - MySQL 소스설치


4. MySQL 소스설치


[root@localhost src]# pwd
/usr/local/src
[root@localhost src]# ls
httpd-2.2.10             mysql-5.1.30         php-5.2.8
httpd-2.2.10.tar.bz2  mysql-5.1.30.tar.gz  php-5.2.8.tar.bz2

[root@localhost src]# cd mysql-5.1.30
[root@localhost mysql-5.1.30]# vi INSTALL-SOURCE - 소스 설치와 관련된 매뉴얼로 설치전에 보면 많은 도움을 얻을 수 있다.

3773 2.9.2. Typical configure Options - MySQL 소스 설치와 관련해서 자세하게 설명이 되어 있다.


[root@localhost mysql-5.1.30]# cd Docs
[root@localhost Docs]# ls
INSTALL-BINARY  Makefile.am  Makefile.in  manual.chm  mysql.info
[root@localhost Docs]# vi INSTALL-BINARY

41 shell> groupadd mysql
42 shell> useradd -g mysql mysql
43 shell> cd /usr/local
44 shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -
45 shell> ln -s full-path-to-mysql-VERSION-OS mysql
46 shell> cd mysql
47 shell> chown -R mysql .
48 shell> chgrp -R mysql .
49 shell> scripts/mysql_install_db --user=mysql
50 shell> chown -R root .
51 shell> chown -R mysql data
52 shell> bin/mysqld_safe --user=mysql &     - mysql 구동시키는 파일

-------------------------------------------------------------------

- 참고
mysql 을 rpm에 의해서 설치 후 설정을 해준 상태기 때문에 아직 mysql의 그룹과 패스워드가 남아있다.
[root@localhost ~]# grep mysql /etc/passwd
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash

-------------------------------------------------------------------

[root@localhost mysql-5.1.30]# pwd
/usr/local/src/mysql-5.1.30

- ./configure을 하기 위해서는 개발용 도구 & 개발용 라이브러리가 있어야 한다.
system-config-packages(패키지 관리자) 개발용 도구 -> 개발용 도구 & 개발용 라이브러리 를 선택해 설치해준다.

[root@localhost mysql-5.1.30]# ./configure --help - configure 옵션 파일을 볼수 있다.
[root@localhost mysql-5.1.30]# ./configure --prefix=/usr/local/mysql --with-charset=euckr
--prefix=/usr/local/mysql  -> 인스톨한 기본 디렉토리를 지정하는 옵션
--with-charset=euckr  -> 기본 문자셋을 EUCKR로 지정한다. 한글을 지원한다는 뜻인데 이옵션을 꼭 지정할 필요는 없지만 정확한 한글 정렬을 위해 필요하다.

- 중략

Thank you for choosing MySQL!  - 정상적으로 configure이 된 상태

[root@localhost mysql-5.1.30]#

-------------------------------------------------------------------

[root@localhost mysql-5.1.30]# make - 소스파일이기 때문에 컴파일 과정이 필요하다.

- 중략

make[2]: Leaving directory `/usr/local/src/mysql-5.1.30/server-tools/instance-manager'
make[1]: Leaving directory `/usr/local/src/mysql-5.1.30/server-tools'
Making all in win
make[1]: Entering directory `/usr/local/src/mysql-5.1.30/win'
make[1]: `all'를 위해 할 일이 없습니다
make[1]: Leaving directory `/usr/local/src/mysql-5.1.30/win'  - 정상적으로 make 된 상태

[root@localhost mysql-5.1.30]#

-------------------------------------------------------------------

[root@localhost mysql-5.1.30]# make install  - 컴파일 한것을 실행시켜 설치한다.

- 중략

make[3]: `install-data-am'를 위해 할 일이 없습니다
make[3]: Leaving directory `/usr/local/src/mysql-5.1.30/server-tools/instance-manager'
make[2]: Leaving directory `/usr/local/src/mysql-5.1.30/server-tools/instance-manager'
make[1]: Leaving directory `/usr/local/src/mysql-5.1.30/server-tools'
Making install in win
make[1]: Entering directory `/usr/local/src/mysql-5.1.30/win'
make[2]: Entering directory `/usr/local/src/mysql-5.1.30/win'
make[2]: `install-exec-am'를 위해 할 일이 없습니다
make[2]: `install-data-am'를 위해 할 일이 없습니다
make[2]: Leaving directory `/usr/local/src/mysql-5.1.30/win'
make[1]: Leaving directory `/usr/local/src/mysql-5.1.30/win' - 정상적으로 make install된 상태

[root@localhost mysql-5.1.30]#

-------------------------------------------------------------------

4-1. MySQL의 테스트

1) MySQL의 기본 DB를 생성한다.

- MySQL의 기본 데이터 베이스를 생성한다. 이 작업은 처음 설치시에 꼭 한번 실행한다.
기본적으로 MySQL 기본 데이터 베이스인 mysql과 testdb를 설치해준다.


[root@localhost bin]# pwd
/usr/local/mysql/bin
[root@localhost bin]# ./mysql_install_db
Installing MySQL system tables...
OK
Filling help tables...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

/usr/local/mysql/bin/mysqladmin -u root password 'new-password'
/usr/local/mysql/bin/mysqladmin -u root -h server3 password 'new-password'

Alternatively you can run:
/usr/local/mysql/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:
cd /usr/local/mysql ; /usr/local/mysql/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd /usr/local/mysql/mysql-test ; perl mysql-test-run.pl

Please report any problems with the /usr/local/mysql/bin/mysqlbug script!

The latest information about MySQL is available at http://www.mysql.com/
Support MySQL by buying support/licenses from http://shop.mysql.com/

[root@localhost bin]#

-------------------------------------------------------------------

2) MySQL의 데몬을 띄운다.

[root@localhost bin]# /usr/local/mysql/bin/mysqld_safe &
[1] 9967
[root@server3 bin]# 081216 11:20:08 mysqld_safe Logging to '/usr/local/mysql/var/server3.err'.
081216 11:20:08 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/var
081216 11:20:08 mysqld_safe mysqld from pid file /usr/local/mysql/var/server3.pid ended

[1]+  Done                    /usr/local/mysql/bin/mysqld_safe
[root@localhost bin]# ps aux | grep mysql
root     10022  0.0  0.0   5184   736 pts/2    R+   11:20   0:00 grep mysql

- root 사용자의 권한으로 실행해주지 않으면 제대로 데몬을 띄울 수 없다.


-------------------------------------------------------------------

[root@localhost bin]# /usr/local/mysql/bin/mysqld_safe --user=root &
or /usr/local/mysql/bin/safe_mysqld --user=root & - root 사용자의 권한으로 실행해준다. 이 작업은 MySQL의 버전마다 조금씩 다르다.
[1] 10025
[root@server3 bin]# 081216 11:21:29 mysqld_safe Logging to '/usr/local/mysql/var/server3.err'.
081216 11:21:29 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/var

[root@localhost bin]# ps aux | grep mysql
root     10025  0.0  0.1   5688  1120 pts/2    S    11:21   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --user=root
root     10076  0.0  0.3  26880  4008 pts/2    Sl   11:21   0:00 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/var --user=root --log-error=/usr/local/mysql/var/server3.err --pid-file=/usr/local/mysql/var/server3.pid
root     10080  0.0  0.0   5188   748 pts/2    S+   11:21   0:00 grep mysql

-------------------------------------------------------------------

4-2. MySQL 실행

[root@localhost bin]# /usr/local/mysql/bin/mysql  - root 사용자의 패스워드가 지정되지 않았을때에만 가능
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.30 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> exit
    ->
    -> Aborted          - ctrl + c

----------------------------------------------------------

MySQL User 패스워드 지정

[root@localhost ~]# /usr/local/mysql/bin/mysqladmin -u root password 'new-password'
or
mysql> use mysql;
mysql> update user set password=password('new-password') where user = 'root';
mysql> flush privileges; - update문을 이용할때는 꼭 사용해야 한다.

----------------------------------------------------------

[root@localhost bin]# /usr/local/mysql/bin/mysql  - 패스워드가 지정되어있다면 접근이 금지된다.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

[root@localhost bin]# /usr/local/mysql/bin/mysql -u root -p - 패스워드가 지정되어있다면 이 설정으로 실행한다.
Enter password: '패스워드 입력'
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.1.30 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>            - 이 프롬프트가 나타나면 정상적으로 설치된 것이다.
mysql> exit
Bye

----------------------------------------------------------

5.  Apache 소스설치 (http://bban2.tistory.com/148)

'Linux Server 구축 > 1-2. Web Server' 카테고리의 다른 글

Tomcat JSP Server 소스설치  (0) 2008.12.17
APM - PHP 소스설치  (0) 2008.12.16
APM - Apache 소스설치  (0) 2008.12.16
APM - 소스 설치  (0) 2008.12.16
Tomcat JSP 서버 - RPM 설치  (0) 2008.12.16
테터툴즈(Textcube) 설치  (0) 2008.12.16