출처 : http://comet42.tistory.com/entry/CentOS-%EC%9B%B9%EC%84%9C%EB%B2%84-%EA%B5%AC%EC%B6%95-APMSource-%EC%84%A4%EC%B9%98-1

 


[설치환경]

◎ http://comet42.tistory.com/entry/VMware-CentOS-65-설치

제가 위에 포스팅한 이후에 "CentOS 6.5 64bit" 환경에서 이루어지는 작업입니다.
◎ 일부 설정이나 경로가 다를수 있으며, 실서버가 아닌 VMware 환경에서 이루어집니다.
◎ 네트워크는 사설(내부)IP로 사용합니다.

 

OS : CentOS 6.5 (64bit)

Apache : httpd-2.4.16 (http://apache.mirror.cdnetworks.com/httpd/)  / 버전릴리즈 : 2015년 7월 14일

PHP : php-5.6.11 (http://php.net/downloads.php) / 버전릴리즈 : 2015년 7월 10일

Mysql : mysql-5.6.24.tar (http://olex.openlogic.com/packages/mysql/5.6.24) / 버전릴리즈 : 2015년 4월 06일

 

기본적으로 아무것도 설치되지 않는 서버에서 시작합니다.

 

1. [준비]

 selinux 방화벽 해제

 

[root@localhost ~]# vi /etc/sysconfig/selinux

 

#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled (수정)

 

 

 전체적인 업데이트

 

[root@localhost ~]# yum update

 

□ 업데이트후 릴리즈 버전 CentOS 6.6

[root@localhost ~]# cat /etc/redhat-release
CentOS release 6.6 (Final)

 

 

 재부팅 ( selinux 및 업데이트 적용)

 

[root@localhost ~]# reboot

 

 

 파일업로드 및 압축 해제

각 오픈소스 사이트에서 wget 명령어를 이용하여 바로 서버에서 다운받거나 

FTP클라이언트 프로그램(알드라이브, 파일질라등) SFTP접속을 통하여 업로드 예)

 

□ 업로드 경로(경로는 본인이 편한 경로로, 필자는 /usr/local 경로에 Source 폴더를 생성)

 

[root@localhost ~]# cd  /usr/local/Source

[root@localhost Source]# ls -al

-rw-r--r--.  1 root root  6899517 2015-07-15 17:54 httpd-2.4.16.tar.gz
-rw-r--r--.  1 root root 33178592 2015-07-15 17:54 mysql-5.6.24.tar.gz
-rw-r--r--.  1 root root 18319185 2015-07-15 17:54 php-5.6.11.tar.gz

 

 

□ 압축해제

 

[root@localhost Source]# tar xvf httpd-2.4.16.tar.gz
[root@localhost Source]# tar xvf mysql-5.6.24.tar.gz
[root@localhost Source]# tar xvf php-5.6.11.tar.gz

 

 

 

☆ 설치순서는 Mysql → Apache → PHP 순으로 진행

 

2. [Mysql 설치]

□ 설치 위치             : /usr/local/mysql-5.6.24

    데이타(data) 위치 : /home/mysql/data

 

□ 유저 및 디렉토리 생성

 

[root@localhost ~]# adduser -M -s /bin/false mysql

 

 

 

[root@localhost ~]# cd /home
[root@localhost home]# mkdir mysql
[root@localhost home]# cd mysql
[root@localhost mysql]# mkdir data
[root@localhost mysql]# mkdir log
[root@localhost mysql]# chown mysql:mysql data
[root@localhost mysql]# chown mysql:mysql log
[root@localhost mysql]# ls -al
drwxr-xr-x. 2 mysql mysql 4096 2015-07-15 18:21 data
drwxr-xr-x. 2 mysql mysql 4096 2015-07-15 18:21 log

□ 권한이 제대로 수정되었는지를 꼭 확인

 

 

□ CMAKE 설치 (Mysql 5.5 이상부터 CMAKE 이용하여 컴파일소스를 설치합니다.)

 

[root@localhost ~]# yum install cmake

 

→ 소스설치할경우 오픈스사이트 : http://www.cmake.org/

 

□ Mysql 필수 패키지 설치 (libncurses5-dev)

 

[root@localhost ~]# yum install ncurses-devel

 

 

 Mysql 소스컴파일하기

 

[root@localhost ~]# cd /usr/local/Source/mysql-5.6.24

[root@localhost mysql-5.6.24]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.24 -DMYSQL_DATADIR=/home/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all

 

 

참조(케릭터셋 지정이름)

 

◎ 예시)
---------+-----------------------------+---------------------+--------+
| Charset  | Description                 | Default collation   | Maxlen |
+----------+-----------------------------+---------------------+--------+
| latin1   | cp1252 West European        | latin1_swedish_ci   |      1 |
| euckr    | EUC-KR Korean               | euckr_korean_ci     |      2 |
| utf8     | UTF-8 Unicode               | utf8_general_ci     |      3 |

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

 

 DWITH_EXTRA_CHARSETS=all 옵션은 다른 모든 케릭터셋을 선택함

 

 

참조

 

◎ 컴파일후 아래와 같이 오류가 발생할겨우

에러: Curses library not found.  Please install appropriate package,
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.

→ 위에 내용대로 'ncurses-devel' 패키지가 설치 되어있지 않을경우 발생한다. 그리고 패키지를 설치했다면 해당경로에 'CMakeCache.txt' 파일을 삭제하고 재시도 할것

→ 했는데도 다른 오류로 실패할경우 위와 같이 똑같이 명시 되므로 같은 방법으로 없는 패키지를 설치하면 됩니다.

 

 

 

 

 

 

 

 

 

 

□ 이상없을시

 

[root@localhost mysql-5.6.24]# make

[root@localhost mysql-5.6.24]# make install

 

 

□ 심볼릭 링크 생성

 

[root@localhost local]# ln -s /usr/local/mysql-5.6.24 /usr/local/mysql

 

lrwxrwxrwx.  1 root root   23 2015-07-16 02:55 mysql -> /usr/local/mysql-5.6.24 (소프트링크 확인)

 

 

□ 설치경로 권한설정

 

[root@localhost local]# cd /usr/local
[root@localhost local]# chown -R mysql:mysql mysql-5.6.24
drwxr-xr-x. 13 mysql mysql 4096 2015-07-15 19:56 mysql-5.6.24 (권한 제대로 변경되었는지 확인) 

[root@localhost local]# cd /home
[root@localhost home]# chown -R mysql:mysql mysql

drwxr-xr-x.  4 mysql mysql  4096 2015-07-15 18:21 mysql (권한 제대로 변경되었는지 확인)

 

 

□ my.cnf 파일 복사

 

[root@localhost mysql]# cd /usr/local/mysql/support-files

[root@localhost support-files]# cp my-default.cnf /etc/my.cnf
cp: overwrite `/etc/my.cnf'? y

(etc 경로에 해당 파일이 있는데 그냥 덮어쓰기 합니다.)

 

◎ 셋팅은 하지 않고 디폴트값으로 갑니다. 튜닝은 사용자에 맞게 찾아서 등록하시기 바랍니다.

 

 

□ 스크립트 구동 (먼저 해당 스크립트를 실행하여 data 디렉토리쪽에 생성을 해줘야합니다.)

 

[root@localhost support-files]# cd /usr/local/mysql
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/home/mysql/data

 

 

□ 데몬구동

 

[root@localhost mysql]# ./bin/mysqld_safe &
[1] 49454
[root@localhost mysql]# 150716 08:18:04 mysqld_safe Logging to '/home/mysql/data/localhost.localdomain.err'.
150716 08:18:05 mysqld_safe Starting mysqld daemon with databases from /home/mysql/data

 

[root@localhost mysql]# ps -ef | grep mysql (정상실행확인)
root      49454   1558  0 08:18 pts/1    00:00:00 /bin/sh ./bin/mysqld_safe
mysql     49544  49454 52 08:18 pts/1    00:00:13 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/home/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/home/mysql/data/localhost.localdomain.err --pid-file=/home/mysql/data/localhost.localdomain.pid

 


□ 암호설정

 

[root@localhost mysql]# ./bin/mysqladmin -u root password '1234'

 

 

□ Mysql 실행

 

[root@localhost mysql]# /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.6.24 Source distribution

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

(정상 접속 확인완료)

 

 

참조

 

◎ 만약 위 mysql 실행시 아래와 같은 오류발생

2015-07-15 20:44:39 49255 [ERROR] InnoDB: Unable to lock ./ibdata1, error: 11
2015-07-15 20:44:39 49255 [Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files.

잘못실행하거나 또는 ibdata 파일을 제대로 인식하지 못할경우 발생합니다. 아래와 같이 진행

 

[root@localhost mysql]# cd /home/mysql/data/
[root@localhost data]# mv ibdata1 ibdata1.bak
[root@localhost data]# cp -a ibdata1.bak ibdata1

 

다시 실행

 

 

□ 자동 구동 설정

 

[root@localhost ~]# cd /usr/local/mysql/support-files/
[root@localhost support-files]# cp mysql.server /etc/rc.d/init.d/mysqld

 

[root@localhost support-files]# vi /etc/rc.d/init.d/mysqld

 

# If you change base dir, you must also change datadir. These may get
# overwritten by settings in the MySQL configuration files.

basedir=/usr/local/mysql (추가)
datadir=/home/mysql/data (추가)

(경로 지정후 저장)

 

[root@localhost support-files]# chkconfig --add mysqld

[root@localhost support-files]# chkconfig --list | grep mysqld  (체크확인)

mysqld          0:해제  1:해제  2:활성  3:활성  4:활성  5:활성  6:해제 

(테스트)

[root@localhost support-files]# /etc/rc.d/init.d/mysqld stop
[root@localhost support-files]# /etc/rc.d/init.d/mysqld start
Starting MySQL.. SUCCESS!

 

 

□ Path 설정

 

[root@localhost ~]# vi /root/.bash_profile

(맨아래의 두개의 라인추가)

export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin

(저장후)

 

[root@localhost ~]# source .bash_profile

(적용후 이제부터 어떤경로에서는 바로 mysql 관련 데몬 명령어들을 사용할수 있음)

 

 

 

이렇게 Mysql 설치는 완료되었습니다.

 

내용이 길어서 다음 포스팅에서 진행하도록 하겠습니다.

오랜만에 포스팅할려니 힘드네요... 최대한 정확하게 할려다보니 시간이 많이 걸리게 됩니다.

빨리 마저 올릴수 있도록 하겠습니다.

 

오타및 잘못된 정보 지적 감사히 받겠습니다. 

+ Recent posts