본문 바로가기

Develop/Linux

[Linux] CentOS에 APM Source 설치 (Apache,PHP,MySQL) - 2

Apache 웹서버 설치 완료 후 MySQL을 이어서 설치한다.
아직 Apache를 설치하지 않았다면 아래 포스트를 먼저 진행하고 오자.


[Linux] CentOS에 APM Source 설치 (Apache,PHP,MySQL) - 1 http://jguru-study.tistory.com/29


[설치환경 / 2016.11.24기준]

1. OS : CentOS 6.8 (x64)
2. Apache : httpd-2.4.23
3. MySQL : mysql-5.6.30
4. PHP : php-5.6.25
5. VirtualBox에서 진행


[MySQL Source 설치]

1. 기존에 설치된 MySQL과 cmake 삭제

yum remove -y mysql* cmake

2. 빌드 환경 설정

yum install -y zlib zlib-devel cpp perl bison freetype freetype-devel freetype-utils ncurses-devel libtermcap-devel bzip2-devel

3. cmake 다운로드 및 설치

MySQL 5.5부터는 ./configure가 아닌 cmake를 통해 컴파일을 진행해야 한다.

cd /usr/local/src
wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz
tar xvfz cmake-3.5.2.tar.gz
cd cmake-3.5.2
./bootstrap
make && make install

4. MySQL 그룹 및 계정 만들기

groupadd mysql
useradd -g mysql mysql

5. MySQL 다운로드

cd /usr/local/src
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.30.tar.gz
tar xvfz mysql-5.6.30.tar.gz
cd mysql-5.6.30

6. MySQL cmake 컴파일

/usr/local/bin/cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_USER=mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306

make
make install

위 컴파일 내용을 간단히 설명하자면 다음과 같다.

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ //mysql 설치할 디렉토리
-DMYSQL_DATADIR=/usr/local/mysql/data \ //db설치(data폴더)할 디렉토리
-DDEFAULT_CHARSET=utf8 \ //mysql 서버의 문자셋
-DDEFAULT_COLLATION=utf8_general_ci \ //db의 문자셋
-DWITH_EXTRA_CHARSETS=all \ //추가로 지원할 문자셋
-DENABLED_LOCAL_INFILE=1 \ //local_infile변수 사용가능여부, 텍스트 파일의 데이터를 특정 테이블에 저장하는 변수
-DMYSQL_USER=mysql \ //mysql유저를 지정
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ //스토리지 엔진, default innodb
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ //스토리지 엔진
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ //스토리지 엔진
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ //스토리지 엔진
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ //mysql 소켓 디렉토리
-DMYSQL_TCP_PORT=3306 //mysql 포트번호, default가 3306임


7. mysql그룹/계정 권한주기

chown -R (계정명):(그룹명) /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql/data

8. DB 생성

cd /usr/local/mysql
./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data

9. MySQL 설정파일 및 데몬 복사 / base, datadir지정

cp support-files/my-default.cnf /etc/my.cnf
#(메모리 용량에 따라 my- 뒤에 이름이 다를 수 있음)
#(이미 존재하는 파일이라면 덮어씌우면 됨)

cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld

vi /etc/init.d/mysqld 
#입력 후 아래 내용 추가
#basedir=/usr/local/mysql
#datadir=/usr/local/mysql/data



10. 환경변수 등록 및 MySQL 데몬 실행

cd ~
vi .bash_profile

#PATH부분에 아래 내용을 추가한다
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin

source .bash_profile
service mysqld start


service mysqld start로 msyql의 데몬을 실행하면 mysql만 입력해도 root계정을 통해 mysql에 접근이 가능하다.


11. MySQL root 계정 비밀번호 변경

# mysqladmin -u root password 암호
mysqladmin -u root password root123

암호 설정 후 root 유저로 접속 테스트
mysql -u root -p
Enter password : 


root 계정 비밀번호를 설정하면, mysql 입력만 하면 오류가 발생한다.
따라서, mysql -u root -p로 비밀번호까지 입력해야 접근할 수 있다.


12. 리눅스 시작시 mysql 구동되도록 설정

chkconfig --add mysqld
chkconfig mysqld on
chkconfig --list mysqld


여기까지 했다면 Apache 웹서버에 이어 MySQL까지 설치가 완료되었다.
이제 PHP만 남았다.

ps. MySQL 5.7부터는 cmake에 이어 boost를 설치해야 컴파일이 가능하다. 이 부분에 대해서는 차후 별도의 포스트를 통해 따로 다룰 예정이다.


* APM 소스설치 링크

[Linux] CentOS에 APM Source 설치 (Apache,PHP,MySQL) - 1 http://jguru-study.tistory.com/29
[Linux] CentOS에 APM Source 설치 (Apache,PHP,MySQL) - 2 http://jguru-study.tistory.com/30
[Linux] CentOS에 APM Source 설치 (Apache,PHP,MySQL) - 3 http://jguru-study.tistory.com/31

  • 잘봤습니다. 2017.05.31 00:25

    처음부터 똑같이 따라하는중에 Mysql실행 (service mysqld start) <- 이 구문에서

    Starting MySQL. ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid)
    이런에러가 나는데...뭐가잘못된건가요?

    CentOS7 Minimal version입니다.