CentOS7 설치후 기본설정 #3(MariaDB설치 및 설정)

1. 기존 설치된 패키지 제거

> OS에 포함되어 있거나 기존에 쓰던 서버를 활용하는 것이라면 버전 호환성을 위해 제거 후 다시 설치

?
001
yum -y remove mysql mongodb-org
>>>>>> description
– 설치여부 및 버전 확인 : yum list installed mysql* mongodb-org*

2. MySQL or MariaDB

> remi7 버전부터 MySQL대신 MariaDB를 지원한다. MariaDB의 설정 및 운영은 MySQL과 거의 비슷하다고 볼 수 있으므로 MariaDB를 설치하자. 자세한 내용은 사이트(https://mariadb.com)확인하자.

>>> 설치
?
001
002
003
004
005
006
007
## MariaDB 설치
yum -y install --enablerepo=remi \
       mariadb \
       mariadb-server \
       mariadb-devel
## MariaDB 서비스 실행
systemctl start mariadb.service
>>>>>> description
– remi repository를 사용
– 서버운영에 필요한 패키지를 함께 설치

>>> 인스톨
?
001
/usr/bin/mysql_secure_installation
>>>>>> description
– 기본값으로 입력하기 위해서는 엔터입력
>>> 서버사양에 맞는 설정파일 복사
?
001
cp /usr/share/mysql/my-huge.cnf /etc/my.cnf
>>>>>> description
설정파일메모리
my-huge.cnf1 ~ 2 GB
my-large.cnf512 MB
my-medium.cnf128 MB ~ 256 MB
my-small.cnf64 MB 이하
>>> 설정파일 수정
?
001
002
003
004
# 설정파일 수정
vi /etc/my.cnf
# 소캣파일 심볼릭 링크
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
?
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
[mysqld]
# Uncomment the following if you are using InnoDB tables
innodb_data_home_dir = /var/lib/mysql/data
innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
innodb_log_group_home_dir = /var/lib/mysql/data
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 384M
innodb_additional_mem_pool_size = 20M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 100M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
## 추가
character-set-server=utf8
collation-server=utf8_general_ci
>>>>>> description
– 캐릭터셋을 utf8로 설정
– 데이터파일 경로 설정
– 로그파일 경로 설정
※ 성능튜닝에 관련해서는 별도로 작성토록함 [링크]
>>> 권한 변경 및 인스톨
?
001
002
003
004
005
006
007
008
009
010
## MariaDB 서비스 중지
systemctl stop mariadb.service
## 기본디비 인스톨
/usr/bin/mysql_install_db --user=mysql
## 폴더 권한 설정
mkdir /var/lib/mysql/data
chown -R mysql:mysql /var/lib/mysql/
chgrp -R mysql /var/lib/mysql/
## 시스템 시작시 자동실행
systemctl enable mariadb.service
>>>>>> description
– 데이터 파일은 별도의 계정으로 관리
– 설정파일 : /etc/my.conf
– 데이터 저장 폴더 : /var/lib/mysql/data
– 로그 저장 폴더 : /var/log/mysqld.log

3. mongoDB

> 현재기준 remp repository에서 지원되지 않아 직접 추가해주어야 함

>>> repository 추가 및 설치
?
001
002
003
004
005
006
007
008
009
010
011
## 저장소 추가
vi /etc/yum.repos.d/mongodb.repo
## 최신 안정화버전 설치
yum -y install mongodb-org
## 특정버전 설치
yum -y install \
       mongodb-org-2.6.1 \
       mongodb-org-server-2.6.1 \
       mongodb-org-shell-2.6.1 \
       mongodb-org-mongos-2.6.1 \
       mongodb-org-tools-2.6.1
?
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
# mongodb.repo
## 64 비트
[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1
priority=1
## 32 비트
[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/i686/
gpgcheck=0
enabled=1
priority=1
>>>>>> description
– 최초 안정화 버전 설치 후 추후 다른 시스템과의 호환성을 위해 버전을 꼭 체크해야함
>>> 설치 후 의도하지 않은 업데이트 진행방지
?
001
vi /etc/yum.conf
?
001
exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools
>>>>>> description
– 업그레이드시 호환성 문제가 발생될 가능성이 있음
>>> 설정파일 수정
?
001
vi /etc/mongod.conf
?
001
002
dbpath=/var/lib/mongo/data
#bind_ip=127.0.0.1
>>>>>> description
– 데이터 폴더 경로 설정
– #bind_ip=127.0.0.1 : 원격접속을 위해 주석처리
>>> 자동실행 설정 및 서비스 시작
?
001
002
003
004
005
006
007
008
009
010
011
## 디비 관리 계정추가
useradd mongod
passwd mongod
## mongo 폴더 권한 설정
mkdir /var/lib/mongo/data
chown -R mongod:mongod /var/lib/mongo/
chgrp -R mongod /var/lib/mongo/
## 서비스 시작
service mongod start
## mongod 시스템 시작시 자동실행
chkconfig mongod on
– 설정파일 : /etc/mongod.conf
– 데이터 저장 폴더 : /var/lib/mongo
– 로그 저장 폴더 : /var/log/mongodb

[참고]
http://myblog.opendocs.co.kr/archives/113