MariaDB를 Binary로 설치한 이유
1) RPM으로 설치시 엔진을 사용자가 원하는 위치로 설치 불가
2) 소스 설치시 다소 오래 걸림
3) 바이너리 설치가 간편하고 빠르게 설치할 수 있음
MariaDB 10.X Binary Installation
☞ 설치 사이트
https://downloads.mariadb.org/
설치는 공식 홈페이지에서 받아야 바이러스 등 위협 요소로 부터 안전함
☞ DB 유저 생성
DB 유저는 Oracle의 경우는 "oracle", MySQL은 "mysql", MariaDB는 "maria", "mysql"을 가져가는 규칙이 대부분임
# groupadd mysql
# useradd -g -u <UID> mysql mysql
☞ 압축 해제 후 이름 변경
설치시 편의를 위해 이름을 변경합니다.
# tar xvzf mariadb-10.5.15-linux-x86_64.tar.gz ; mv mariadb-10.5.15-linux-x86_64 mariadb
☞ 엔진 디렉토리 지정 및 복사
이 설치 가이드는 "/app"과 "/data" 즉, 엔진과 데이터가 쌓이는 영역을 분리하였습니다.
# mkdir /app
# cp -a /root/mariadb /app/mariadb
# mkdir -pv /app/mariadb/temp
# chown -R mysql:mysql /app/mariadb
☞ 데이터 디렉토리 생성 및 권한 부여
실질적으로 데이터가 쌓일 공간을 생성합니다.
"/data"와 같이 데이터 디렉토리를 별도로 지정합니다.
# mkdir /data
# chown -R mysql:mysql /data
☞ MariaDB 설정 파일 작성
주의해야 할 점은 DATADIR과 BASEDIR의 위치 지정과 PORT 부분입니다.
스토리지 엔진 튜닝은 Real MySQL 서적 및 MariaDB Documents, 구글링 등을 참고하여 자신의 시스템에 맞는 권고값을 맞춰주는 것이 좋습니다.
# vi /etc/my.cnf
[client]
default-character-set = utf8
port = 3306
socket = /data/mariadb.sock
[mysqld]
user = mysql
port = 3306
tmpdir = /app/mariadb/temp
socket = /data/mariadb.sock
basedir = /app/mariadb
datadir = /data
pid-file = /data/mariadb.pid
default-character-set = utf8
skip-name-resolve
# log
log-error = /var/log/mariadb/mariadb.err
slow_query_log_file = /var/log/mariadb/mariadb-slow-query.log
☞ 에러 로그 설정
# mkdir -pv /var/log/mariadb
# chown -R mysql. /var/log/mariadb
☞ MariaDB 엔진 설치
재설치시 귀찮기도 하고 다른서버에서도 간편하게 설치할 수 있을것 같아서 설치 스크립트를 작성하였습니다.
# vi mariadb_install.sh
#!/bin/sh
basedir=/app/mariadb
datadir=/data
port=3306
user=mysql
socket=mariadb.sock
cd $basedir/scripts
./scripts/mysql_install_db --socket=$datadir/$socket --port=$port --basedir=$basedir --datadir=$datadir --user=$user
# sh install.sh
☞ MariaDB 엔진 설치 확인
에러 로그가 없는지 확인합니다.
# vi /var/log/mariadb/mariadb01.err
MariaDB를 안전모드로 실행 후 프로세스 및 백그라운드 job 확인합니다.
# /app/mariadb/bin/mysqld --user=mysql &
# jobs
# ps -ef |grep mysql
MariaDB 진입합니다.
# /app/mariadb/bin/mysql -u root
☞ MariaDB 자동 실행 등록 (서비스 등록)
# cp -a /app/mariadb/support-files/mysql.server /etc/init.d/mysqld
# chkconfig mysqld on
or
# systemctl enable mysqld
☞ MariaDB 서비스 시작
# /etc/init.d/mysqld start
or
# systemctl start mysqld