대학다닐때 MySQL 사용해보고 정말 오랜만에 MySQL을 받아서 설치하고 Servlet 테스트 할것들을 준비하는 중인데...


강산도 변할 시간이 흘러서 그런지 MySQL을 다운받기 위해서 로그인까지 해야 되는 ... ㅠ.ㅠ 세상이 되어 버렸구나.


어째든 다운을 받고 클릭 클릭 클릭으로 설치를 완료하였다.


1. 다운 받는 사이트는 아래 MySQL 사이트에서 찾을수 있다.(설치는 그냥 클릭 클릭 클릭..)

http://www.mysql.com/downloads/mysql/




2. 다운 받는 김에 JDBC 드라이버도 같이 받아두자. 나중에 어차피 JDBC로 DB를 접근하고 관리하게 될테니..(다운받아서 압축 잘 풀어두기..)

http://www.mysql.com/downloads/connector/j/




3. JDBC 용 드라이버를 다운받아서 아래 위치에 압축풀어두자.(나중에 쓸거니까)




4. MySQL을 설치하고 나서 제일 중요한것이 무엇이냐면, 바로 사용자 계정 추가하고 DB를 만들어주는 것이다.

1번에서 설치하면 관리면 커맨드창을 바로 가기 할수 있게 하나 설치가 된다.(관리자 비번 입력하면 관리창으로 들어감 - 클래식하다...)




5. 여기서 아래와 같이 줄줄줄 입력해서 db도 만들고 권한도 주면 사용준비끝.

mysql> insert into user(host,user,password,ssl_cipher,x509_issuer,x509_subject,authentication_string) values('localhost','hopeisagoodthing',password('**************'),'','','','');

Query OK, 1 row affected (0.00 sec)


mysql> select host,user,password from user;

+-----------+------------------+-------------------------------------------+

| host          | user                    | password                                                 |

+-----------+------------------+-------------------------------------------+

| localhost   | root                     | *****************************************  |

| localhost   | hopeisagoodthing | *****************************************  |

+-----------+------------------+-------------------------------------------+

2 rows in set (0.00 sec)


mysql> create database hopeisagoodthing;

Query OK, 1 row affected (0.00 sec)


mysql> insert into db values('localhost','hopeisagoodthing','hopeisagoodthing','y','y','y','y','y','y','y','y','y','y', 'y','y','y','y','y','y','y','y','y');

Query OK, 1 row affected (0.00 sec)


mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)


mysql> grant all on hopeisagoodthing.* to 'hopeisagoodthing'@'localhost' identified by '******************';

Query OK, 0 rows affected (0.00 sec)



다음에는 JDBC드라이버를 올려서 우리는 웹앱으로 이제 DB콘트롤 할거니깐, 신경쓰지 말자.

블로그 이미지

커뉴

이 세상에서 꿈 이상으로 확실한 것을, 인간은 가지고 있는 것일까?

,

MySQL을 사용하다 보면 백업을 하고 다시 복구 해야 될때가 종종 있습니다. 그럴때는 번거롭게 디렉토리 전체를 복사하시지 말고, 간단한 프로그램으로 백업 복구 가능합니다.

일단 백업하는 방법은 mysqldump라는 프로그램으로 백업 할 수가 있습니다.

mysql의 bin 디렉토리 내에 mysqldump라는 프로그램이 있다는 것을 잊으시면 안됩니다.

mysqldumpdml 위치 확인
[root@ linux]#find / -name  mysqldump -print 
/usr/local/mysql/mysqldump

mysqldump 이용해서 백업
[root@ linux]#mysqldump -u 아이디 -p 암호  DB이름 > [백업으로 저장될 파일이름]

백업 된 파일을 이용해서 데이터 베이스 복구
[root@ linux]#mysql -u 아이디   -p 암호   DB이름   <   [백업 저장되었던 파일이름]



 

블로그 이미지

커뉴

이 세상에서 꿈 이상으로 확실한 것을, 인간은 가지고 있는 것일까?

,

블로그정리중 글 옮김(2009년 3월 26일 글)

 

Apahche + PHP + MySQL을 같이 잘 맞물리게 해서 홈페이지나 사이트를 구축할때 게시판이나 각종 데이터 베이스 처리가 필요 할때, 보다 수월하게 사용할 수 있습니다.

Apache라는 것은 웹서버를 말하는 것인데, 지금 우리가 접할 수 있는 거의 대부분의 웹서버에서는 아파치를 사용하고 있습니다. 아파치는 1.X버전과 2.X버전 두가지 부류로 나뉘어 지는데, 그 설치 방법과 운영방법이 크게 다르기 때문에 설치 방법이나 운영방법에 대해서 잘 익힌 다음에 설치 하도록 해야 됩니다.
http://www.apache.org

PHP는 펄이나 CGI 프로그램 처럼 서버에서 정해진 작업을 한 다음에 클라인언트로 그 결과를 보내주는 언어 입니다. 그 사용방법이나 구조등이 C언어와 유사하기 때문에 많은 CGI프로그래머들이 PHP로 방향을 전환하게 되었고, 지금은 아주 많은 분야에서 사용되고 있습니다. 쇼핑몰의 구축이나 데이터 베이스등의 관리 여러가지 작업을 할 수 있는 반면 사용법이 아주 쉽기 때문에 널리 확산되었습니다.
http://www.php.net

MySQL은 데이터 베이스를 처리하는 프로그램입니다. 
http://www.mysql.com

그러면 위의 세가지 프로그램을 연동 시켜 보기로 합시다.
첫번째는 Apache 1.3.XX + PHP + MySQL 방법에 대해서 이야기 해보겠습니다.

MySQL은 아파치의 버전에 상관없이 그냥 설치 해도 됩니다.

MySQL의 설치 방법

1.다운로드
MySQL 사이트에서 Stable Version 소스 코드를 다운로드 합니다.(예:mysql-4.0.13.tar.gz)

2.Linux Box의 적당한 디렉토리에 저장해둡니다.(예;/var/tmp)

3.tar과 gunzip로 패키징 되어 있는 파일이므로 압축을 해제합니다.
  어떤 파일인지 확실히 확인해 보시기 위해서는 "file 파일명" 명령으로 확인해보시면 됩니다.
  [root @linux]#pwd   --> 현재 디렉토리 확인
  /var/tmp

  [root @linux]#ls    --> 어떤 파일이 있는 지 확인
  mysql-4.0.13.tar.gz

  [root @linux]#tar xvfz mysql-4.0.13.tar.gz --> 압축해제
  ..................
  ..................
  ..................

  [root @linux]#ls
  mysql-4.0.13      mysql-4.0.13.tar.gz  ---> 새로운 디렉토리가 생겼음

  [root @linux]#cd mysql-4.0.13 --> MySQL의 소스파일이 있는 디렉토리로 이동.

4. 컴파일을 하기 위한 환경파일 Makefile들을 생성합니다.
  [root @linux]#./configure --prefix=/usr/local/mysql --with-charset=euc_kr --localstatedir=/DB
  make라는 유틸리티를 이용해서 컴파일 하기 때문에 make환경설정을 해주어야 됩니다.
  --prefix= 은 컴파일 후에 설치할 디렉토리를 지정하는 것입니다.(/usr/local/mysql이라는 디렉토리에 설치)
  --with-charset=euc_kr 어떤 문자셋으로 설정 할 것인지 지정합니다.(euc_kr :한국어)
  --localstatedir=/DB   데이터 베이스 파일들을 어디에 저장할 것인지를 지정합니다.(/DB라는 디렉토리에 저장.)
  이것은 일반적인 방법이고 좀더 다양한 옵션들을 지정해 줄 수도 있습니다.
  그것들에 대한 설명은 MySQL 문서들을 참고 하시면 됩니다.
  프렌존 서버는 다음과 같은 옵션으로 컴파일 되어있습니다.
  --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --prefix=/usr/local/mysql --with-charset=euc_kr --localstatedir=/DB

  성공적으로 작업이 끝나면 감사 메세지가 나옵니다. 안나오면 비정상이므로 다시 한번 확인해주시길 바랍니다.

5.make를 이용한 컴파일 및 설치
  [root @linux]#make --> 컴파일 합니다.
  [root @linux]#make install --> 설치 합니다.
  [root @linux]#cd /usr/local/mysql 
  파일이 다 만들어 져 있으면 일단 컴파일 및 설치는 끝난것입니다.

6.mysql 사용자 추가
  MySQL은 root권한으로 돌아가지 않고 mysql user의 권한으로 돌아가게 됩니다. 그렇기 때문에 시스템에 mysql이라는 사용자를 추가하고 패스워드를 설정해야 됩니다.
  최대한 어려운 패스워드를 설정해두면 나중에 보안상의 문제를 조금이나마 막을 수 있습니다.
  [root @linux]#useradd mysql -->사용자 추가(로그인 쉘등을 지정해서 로그인이 안되도록 설정해두는것도 좋습니다.)
  [root @linux]#pass mysql -->패스워드 설정.
  New password:
  
7.데이터 베이스가 저장되는 디렉토리의 소유자 및 그룹을 mysql로 변경.
  [root @linux]#chown -R mysql:mysql /DB --> /DB에 파일을 저장하기로 했으므로, 그 소유자와 그룹을 mysql로 설정합니다.

8.MySQL기본 권한 테이블을 설정
(스크립트가 제공 되기 때문에 한번 만 실행 시켜 주면 됩니다.)
  [root @linux]#cd /usr/local/mysql
  [root @linux]#./bin/mysql_install_db --> 때로는 scripts라는 디렉토리 밑에 있는 경우도 있습니다.

9.데이터 베이스 데몬을 실행
  [root @linux]#cd /usr/local/mysql
  [root @linux]#./bin/mysqld_safe & --> 백그라운드로 데몬을 실행 시킵니다.
  [root @linux]#ps -ef | grep mysqld --> 실행이 잘 되고 있는 지 확인.
  mysql      768   738  0 Jul10 ?        00:00:00 /usr/local/mysql/libexec/mysqld
  mysql      770   768  0 Jul10 ?        00:00:00 /usr/local/mysql/libexec/mysqld
  mysql      771   770  0 Jul10 ?        00:00:00 /usr/local/mysql/libexec/mysqld
  mysql      772   770  0 Jul10 ?        00:00:00 /usr/local/mysql/libexec/mysqld
  mysql      773   770  0 Jul10 ?        00:00:00 /usr/local/mysql/libexec/mysqld
  mysql      774   770  0 Jul10 ?        00:00:00 /usr/local/mysql/libexec/mysqld
  mysql      779   770  0 Jul10 ?        00:00:00 /usr/local/mysql/libexec/mysqld
  mysql      780   770  0 Jul10 ?        00:00:00 /usr/local/mysql/libexec/mysqld
  mysql      781   770  0 Jul10 ?        00:00:00 /usr/local/mysql/libexec/mysqld
  mysql      782   770  0 Jul10 ?        00:00:00 /usr/local/mysql/libexec/mysqld
  
  만약에 실행이 되지 않고 에러가 나온다면 /DB 디렉토리로 이동해서 error 로그 파일을 열어보시면, 그 원인이 적혀 있습니다.
  읽어보신 후에 적절한 조치를 취해주시면 됩니다.

10.MySQL 관리가 패스워드 설정
  [root @linux]#cd /usr/local/mysql
  [root @linux]#./bin/mysql -u root
  mysql>SET PASSWORD for root=password('password');
  mysql>exit


PHP 설치
다음 단계는 Apache 1.3.XX 버전을 사용하기로 했기때문에 PHP와 연동을 위해서 Apache의 환경 설정을 먼저 한번 해주어야 됩니다.

[root @linux]#cd /var/tmp/apache-1.3.XX
[root @linux]#./configure --prefix=/usr/local/apache


이제는 PHP의 소스코드가 있는 디렉토리로 이동하여 컴파일을 해주면 됩니다.

[root @linux]#cd /var/tmp/php-4.3.2
[root @linux]#./configure --prefix=/usr/local/php --with-apache=/var/tmp/apache-1.3.XX --with-mysql=/usr/local/mysql --with-language=korean --with-charset=euc_kr --with-config-file-path=/usr/local/apache/conf --enable-track-vars=yes
[root @linux]#make
[root @linux]#make install 

 PHP설치 끝입니다.(PHP는 모듈로 아파치에 같이 들어 가게 되므로, 실행 할 필요가 없습니다.)

APACHE 설치

[root @linux]#cd /var/tmp/apache-1.3.XX
[root @linux]#./configure --prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a --> php 연동을 위한 것입니다.
 [root @linux]#make
 [root @linux]#make install

Apache 설치 끝입니다.

환경설정 및 실행
PHP 소스 디렉토리에 보면 php.ini-XXXXX라는 파일들이 있습니다. 이중에서 php.ini-recommended 라는 파일을 apache의 conf라는 디렉토리에 php.ini라는 파일로 복사합니다.Apache의 conf 디렉토리를 보면 httpd.conf라는 파일이 있습니다. 그 파일을 자신의 환경에 맞게 설정해주면 됩니다.

AddType application/x-httpd-php .php .php3 .php4 .phtml .html
AddType application/x-httpd-php-source .phs .phps

이 부분을 httpd.conf에 추가 해줍니다. (Add for PHP라는 부분이 있을 것입니다.)

이제 모든 준비가 끝났습니다.
아파치만 실행 시키면 여러분의 박스에는 APM연동이 끝난 웹서버가 돌아가게 될것입니다.
실행은 다음과 같은 명령으로 할 수 있습니다

[root @linux]#/usr/local/apache/bin/apachectl start --> 시작
[root @linux]#/usr/local/apache/bin/apachectl stop --> 정지
[root @linux]#/usr/local/apache/bin/apachectl restart --> 새로 시작.


서버가 부팅 될때마다 Mysql과 Apache를 실행 시킬 수 있게 하시려면, /etc/rc.d/rc.local이라는 파일에 실행 명령을 추가 해주면 됩니다.

[root @linux]#vi /etc/rc.d/rc.local
#MySQL Start
cd /usr/local/mysql
./bin/mysqld_safe &
#Apache Start
/usr/local/apache/bin/apachectl start &




APACHE 2.0.XX 버전사용시
MySQL은 설치 해둔 상태에서 위의 방법과는 다르게 Apache를 설치 합니다.(PHP를 수동으로 적재)

[root @linux]#cd /var/tmp/apache-2.0.XX
[root @linux]#./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared=all --enable-modules=shared --with-mpm=threadpool
[root @linux]#make
[root @linux]#make install

이제는 PHP를 설치 합니다.

[root @linux]#cd /var/tmp/php-4.3.2
[root @linux]#CFLAGS="-L/usr/local/mysql/lib/mysql -lmysqlclient"
[root @linux]#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --enable-track-vars=yes --with-language=korean --disable-debug --with-charset=euc_kr --enable-modules=so --enable-trans-sid --with-config-file-path=/usr/local/apache2/conf 
[root @linux]#make
[root @linux]#make install

PHP의 컴파일 방법이 조금 달라 진것이 보이 실 것입니다.
이렇게 해두면 수동으로 모듈을 적재 시킬 수 있게 됩니다.

환경 파일은 apache의 httpd.conf만 수정해주면 됩니다. 위에서 한 작업과 동일합니다.
물론 php.ini파일은 conf디렉토리로 복사해 주셔야 됩니다.

httpd.conf 수정

LoadModule php4_module        modules/libphp4.so 
AddType application/x-httpd-php .php .php3 .php4 .phtml .html
AddType application/x-httpd-php-source .phs .phps



 

블로그 이미지

커뉴

이 세상에서 꿈 이상으로 확실한 것을, 인간은 가지고 있는 것일까?

,