# 설치환경 및 안내

< OS 정보 >
CentOS Linux release 7.4.1708 (Core)
Linux localhost.localdomain 3.10.0-693.11.1.el7.x86_64 #1 SMP Mon Dec 4 23:52:40 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

YUM
Yellowdog Updater, Modified 의 약자로 rpm기반의 시스템(Redhat 계열)을 위한 자동 업데이터이자 패키지 설치/삭제도구입니다.
Yum은 자동적으로 의존성을 처리해주며 rpm 패키지들을 안전하게 설치, 삭제 및 업데이트하기 위해 반드시 해야할 일들을 스스로 해결합니다.
바이너리
바이너리 파일은 이미 컴파일이 완료된 파일을 말합니다. 압축을 해제한 뒤 그냥 실행하거나(Linzip), README 파일 등을 읽고 시스템에 맞는 설정을 해주거나, 컴파일 과정 없이 마지막 과정을 수행해 주면 됩니다. 또는 프로그램 자체가 스크립트 형식으로 제공되는 경우가 있는데 이 경우에는 파일 이름이 대체로 확장자가 bin(Realplayer) 또는 sh로 끝납니다.
소스설치 ( compile 설치)
직접 컴파일러를 이용해 설치해야하는 설치방법을 말합니다.
소스코드 -> 문법검사 -> 기계어번역 -> 복사
                      ↓
                 configure ->     make    -> make install
위 모습처럼 직접 컴파일하여 설치하는 설치를 말합니다.

(Tip) 한 서버에 2개의 Mysql,마리아DB 를서비스할시에 꼭 다르게 설정해야 할것들 입니다.
1. MySQL 베이스 경로
2. MySQL 데이터 경로
3. Sock 파일
4. my.cnf 위치
5. 포트

이 문서는 소스설치에 대해 다루고있습니다.



컴파일을 위한 패키지 다운로드
# yum install gcc gcc-c++ libtermcap-devel gdbm-devel zlib* libxml* freetype* libpng* libjpeg* iconv flex gmp ncurses-devel cmake.x86_64 libaio -y

해당 디렉토리로 파일 다운로드 및 이동
# cd /usr/local/src

소스파일의 압축 해제
# tar xvfz mariadb-10.0.31.tar.gz

빌드 디렉토리 생성
# mkdir build-mariadb
# cd build-mariadb

유저, 그룹 생성
# groupadd mysql
# useradd -g mysql maria

컴파일 옵션 확인
# cmake ../mariadb-10.0.31 -LH

Tip) 옵션을 변경하고싶다면 컴파일 옵션에 -D 를 붙여서 값을 주세요

cmake ../mariadb-10.0.31 \
    -DWITH_READLINE=1 \
    -DWITH_READLINE=1 \
    -DWITH_SSL=bundled \
    -DWITH_ZLIB=system \
    -DDEFAULT_CHARSET=utf8 \
    -DDEFAULT_COLLATION=utf8_general_ci \
    -DENABLED_LOCAL_INFILE=1 \
    -DWITH_EXTRA_CHARSETS=all \
    -DWITH_ARIA_STORAGE_ENGINE=1 \
    -DWITH_XTRADB_STORAGE_ENGINE=1 \
    -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    -DWITH_PARTITION_STORAGE_ENGINE=1 \
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
    -DWITH_FEDERATEDX_STORAGE_ENGINE=1 \
    -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
    -DINSTALL_SYSCONFDIR=/usr/local/mariadb-10.0.31/etc \
    -DINSTALL_SYSCONF2DIR=/usr/local/mariadb-10.0.31/etc/my.cnf.d \
    -DMYSQL_TCP_PORT=3307 \
    -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb-10.0.31 \
    -DMYSQL_DATADIR=/usr/local/mariadb-10.0.31/data \
    -DMYSQL_UNIX_ADDR=/usr/local/mariadb-10.0.31/socket/mysql.socket

Tip ) 빨간색 부분을 수정하면 경로 및 소켓위치 등을 변경할수 있습니다.
Tip ) 컴파일 실패시 CMakeCache.txt 파일 삭제 ( rm -rf CmakeCashe.txt )

정상적으로 컴파일 완료

# make && make install
-> 컴파일 결과로 실제 파일 쓰기

Make 진행중 ...

작업완료

# chown mysql:mysql -R /usr/local/mariadb-10.0.31
# chmod 755 /usr/local/mariadb-10.0.31 -R
# cd /usr/local/mariadb-10.0.31/scripts
# ./mysql_install_db --user=maria --basedir=/usr/local/mariadb-10.0.31 --datadir=/usr/local/mariadb-10.0.31/data

DB생성후 다시한번 권한 및 유저 설정
# chown mysql:mysql -R /usr/local/mariadb-10.0.31
# chmod 755 /usr/local/mariadb-10.0.31 -R

# cp /usr/local/mariadb-10.0.31/support-files/my-huge.cnf /usr/local/mariadb-10.0.31/etc/my.cnf

실행 테스트
# cd /usr/local/mariadb-10.0.31/support-files
# ./mysql.server start


Root 비밀번호 설정
# /usr/local/mariadb-10.0.31/bin/mysqladmin -u root password '!@widetns9'

# cd /usr/local/mariadb-10.0.31/bin
# ./mysql -uroot -p


심볼릭링크 생성
# ln -s /usr/local/mariadb-10.0.31/bin/mysql /usr/bin/mariadb
# ln -s /usr/local/mariadb-10.0.31/bin/mysqldump /usr/bin/mariadbdump 

(Tip) systemctl 서비스 등록
# cat /etc/systemd/system/mariadb.service
[Unit]
Description=mariadb-10.0.31
After=syslog.target network.target

[Service]
Type=forking
User=mysql
Group=mysql
ExecStart=/usr/local/mariadb-10.0.31/support-files/mysql.server start
ExecStop=/usr/local/mariadb-10.0.31/support-files/mysql.server stop

[Install]
WantedBy=multi-user.target

-> 해당 파일 생성

# systemctl daemon-reload
# systemctl enable mariadb
# systemctl start mariadb
# systemctl status mariadb

정상적으로 올라왔습니다.


1 2 3 4